湖南大学课程考试试卷期中c语言试卷

更新时间:2024-01-30 23:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

诚信应考,考试作弊将带来严重后果!

考试中心填写: ____年___月___日

湖南大学课程考试试卷

一 二 三 四 五 六 七 八 九 十 总分 100 考 试 用 课程名称: ;课程编码: 试卷编号: ;考试时间:120分钟

专业班级: 湖南大学课程考试试卷 题 号 应得分 实得分 评卷人 一、选择题(每空2分 共50分)

1. C语言源程序名的后缀是( )

A).exe B).C C).obj D).cp

装订线(题目不得超过此线)2. 可在C程序中用做用户标识符的一组标识符是( ) A) and B) Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl 3. 以下选项中,合法的一组C语言数值常量是( ) A) 028 B) 12. C) .177 D) 0x8A .5e-3 OXa23 4c1.5 10,000 -0xf 4.5e0 Oabc 3.e5 4. 以下叙述中正确的是( )

学号: A)C语言程序将从源程序中第一个函数开始执行

B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数

5. 有以下程序段 char ch; int k; ch='a'; k=12;

printf(\

姓名: 湖南大学教务处考试中心已知字符a 的ASCll 十进制代码为97,则执行上述程序段后输出结果是( ) A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12

6. 当变量c 的值不为2、4、6 时,值也为“真”的表达式是( ) A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 7. 若变量已正确定义,有以下程序段 int a=3,b=5,c=7;

第 1 页 (共 页)

if(a>b) a=b; c=a; if(c!=a) c=b;

printf(\其输出结果是( )

A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 8. 有以下程序 #include main()

{ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y)

{ case 0: a++; break; case 1: b++; break; }

case 2: a++; b++; break; case 3: a++; b++; }

printf(“a=%d,b=%d\\n”,a,b); }

程序的运行结果是( )

A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1

9. 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( ) A)(!E==0) B)(E>0||E<0) C)(E==O) D)(E!=O)

10. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义, 以下正确的程序段是( )

A)while((ch=getchar())!='N') printf(\ B)while(ch=getchar()!='N') printf(\ C)while(ch=getchar()=='N') printf(\ D)while((ch=getchar())=='N') printf(\

11. 有以下程序 #include main()

{char c1,c2,c3,c4,c5,c6;

scanf(\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(\ }

程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是( )

A)1267 B)1256 C)1278 D)1245

第 2 页 (共页)

12. 有以下程序 main() {int y=lO;

while(y--); printf(\ }

程序执行后的输出结果是( )

A)y=0 B)y=-1 C)y=1 D)while构成无限循环 13. 有以下程序

main()

{ char p[]={'a', 'b', 'c'}, q[]=\ printf(\ };

( )

A)4 4 B)3 3 C)3 4 D)4 3 14. 有以下程序

# define f(x) (x*x) main() { int i1, i2;

i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf(\ }

( )

A)64, 28 B)4, 4 C)4, 3 D)64, 64 15. 有以下程序

main()

{ char a1='M', a2='m'; printf(\

( )

A)程序输出大写字母M B)程序输出小写字母m

C)格式说明符不足,编译出错 D)程序运行时产生出错信息 16. 有以下程序

#include main()

{ char c1='1',c2='2';

c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); }

a<回车> 后,以下叙述正确的是( )

A)变量c1被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值 17. 有以下程序

main()

{ int k=5,n=0; while(k>0) { switch(k) { default : break;

第 3 页 (共页)

case 1 : n+=k; case 2 : case 3 : n+=k; } k--; }

printf(\ }

( )

A)0 B)4 C)6 D)7 18. 有以下程序

void sum(int a[]) { a[0] = a[-1]+a[1]; } main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]);

printf(\ }

( )

A)6 B)7 C)5 D)8 19. 有以下程序 main() {int a=1,b; for(b=1;b<=10;b++) {if(a>=8)break;

if(a%2==1){a+=5;continue;} a-=3; }

printf(\}

程序运行后的输出结果是 ( ) A) 3 B) 4 C)5 D) 6 20. 有以下程序 main()

{int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++)

{for(j=0;j<=i;j++)printf(\for(j=_____;j<4;j++)printf(\printf(\} }

若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16

则在程序下划线处应填入的是 ( )

第 4 页 (共页)

A)i-1 B)i C)i+1 D)4-i

21. 设变量已正确定义并赋值,以下正确的表达式是( ) A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0 22. 有以下程序 #include main() { int x=8; for( ; x>0; x--)

{ if(x%3) {printf(“%d,”,x--); continue;} printf(“%d,”,--x); } }

程序的运行结果是( ) A)7,4,2 B)8,7,5,2 C)9,7,6,4 D)8,5,4,2

23. 以下不构成无限循环的语句或者语句组是( ) A) n=0; B) n=0;

do{++n;}while(n<=0); while(1){n++;}

C) n=10; D) for(n=0,i=1; ;i++) n+=i; while(n); {n--;} 24. 以下错误的定义语句是( ) A)int x[][3]={{0},{1},{1,2,3}};

B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};

25. 若有定义:int a[2][3];,以下选项中对a 数组元素正确引用的是( ) A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][ !1]

二、 填空题(每空3分 共30分)

1. 若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形 式输出,请写出完整的输出语句__[1]____。

2.

以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当 a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个 条件:a+b>c,a+c>b,b+c>a。请填空. main() {float a,b,c;

scanf(\

if(_[2]__)printf(\、b、c能构成三角形*/ else printf(\、b、c不能构成三角形*/ } 3.

以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的 所有整数,请填空。 main() {int i,j;

for(i=0;__[3]__;i++) {j=i*10+6;

第 5 页 (共页)

本文来源:https://www.bwwdw.com/article/20jw.html

Top