您好,欢迎来到99网。
搜索
您的当前位置:首页C语言测试题

C语言测试题

来源:99网
测试题

1. 以下正确的叙述是:

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是整数还是实数,都能被准确无误地表示

D)在C程序中,%是只能用于整数运算的运算符 2. 以下叙述不正确的是。

A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面 3.在C语言中,要求运算数必须是整型的运算符是。 A) / B) ++ c) != D)% 4.下面正确的字符常量是:

A)\"a\" B)'\\\\'' C)'W' D)’ ’

5.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为: main()

{char ch1 ,ch2 ,ch3; 输入语句

printf(\"%c%c%c\ 输入形式: A B C 输出形式: A B C

A) scanf(\"%c%c%c\ B) scanf(\"%c,%c,%c\ C) scanf(\"%c %c %c\ D) scanf(\"%c%c\

6.C语言规定:在一个源程序中,main函数的位置 。 A)必须在最开始

B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

7.一个C语言程序是由

A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成

8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 A)D B)68 C)不确定的值 D)C

9.以下符合C语言语法的赋值表达式是 A)d=9+e+f=d+9B) d=9+e,f=d+9

C)d=9十e,e++,d十9 D)d=9十e++=d十7

10.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为

A)char11.若x,i,j和k都是int型变量,则执行下面表达式后x的值为

x=(i=4,j=16,k=32)

A)4 B)16 C)32 D)52

12.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A)必须为字母 B)必须为下划线

C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符

13.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是: A)7 B)8 C)6 D)2 14.以下说法正确的是:

A)输入项可以为一实型常量,如scanf(\"%f\B)只有格式控制,没有输入项,也能进行正确输入,如scanf(\"a=%d,b=%d\");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,

如scanf(\"%4.2f\

D)当输入数据时,必须指明变量的地址,如scanf(\"%f\

1. 在do-while循环中,任何情况下都不能省略while. 2.在C程序中,无论是整数还是实数,都能被准确无误地表示

3.定义 int x[5],n;则x=x+n;或x++;都是正确的. 4.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 5.在C程序中,每行中只能写一条语句 6.当输入数据时,必须指明变量的地址,如scanf(\"%f\

7.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

8.对静态变量的初始化不是在编译阶段完成的. 9.在C程序中,逗号运算符的优先级最低 10.在C程序中,APH和aph是两个不同的变量

第 1 页 共 4 页

11.在C程序中,%是只能用于整数运算的运算符 12.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(\"%4.2f\

1.若a是int型变量,则执行下面表达式后a的值为________________;a=25/3%3

2.若s是int型变量,且s=6,则下面表达式的值为_____________s%2+(s+1)%2 3、已知 int x=10, y=20, z=30; 以下语句执行后x, y, { if(j%2) continue;

k++; } } k++; }

printf(\"k=%d\\n\ } 3. main()

{int a=100,x =10,y=20,okl=5,ok2=0; z的值是______,_________和_______。 if(x>y)

z=x;x=y;y=z;

4.若x和a均是int型变量,则执行表达式〔1〕后的x值为______________,执行表达式〔2〕后的x值为________________

〔1〕 x=(a=4,6*2) 〔2〕 x=a=4,6*2

5.、若a是int型变量,且a的初值为6,则执行下面表达式后a的值为________________; a+=a-=a*a a=25/3%3

6.在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为____________;

7.C语言所提供的基本数据类型包括:单精度、双精度、_____________、______________和枚举型;

8.若x和n均是int型变量,且x和n的初值均为5,则执行下面表达式后x的值为____________,n的值为______________; x+=n++

1.当a=1,b=3,c=5,d=4 ,执行完下面一段程序后x 的值是 :

if(a2.下面程序的输出结果是____。 main()

{ int i,j,k=10; for(i=0;i<2;i++) { k++;

{ int k=0;

for(j=0;j<=3;j++)

第 2 页 共 4 页

if (xif(ok2) a=10; a=-1:

printf( \"%d\\n\ }

4下面程序的输出结果是____。 #include main( )

{ int n[3][3], i, j; for(i=0;i<3;i++ ) for(j=0;j<3;j++ ) n[i][j]=i+j; for(i=0;i<2;i++ ) for(j=0;j<2;j++ )

n[i+1][j+1]+=n[i][j]; printf(\"%d\\n\ }

A) 14 B) 0 C) 6 D) 不确定 5. main()

{int x= 2,y= -1,z=2; if (xif(y<0) z= 0; else z+ =1; printf(\"%d\\n\ }

1、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 2. 利用递归方法求5!。

3. 输入n=3值,输出如图所示图形。

4、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

5. 有5个人坐在一起,问第五个人多少岁?他说比第4个2岁。问第4个人岁数,他说比第3个2岁。问第三个人,又说比第2两岁。问第2个人,说比第一个两岁。最后问第一个人,他说是10岁。请问第五个人多大?

6、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 7. 判断101-200之间有多少个素数,并输出所有素数。 int fact();

for(i=0;i<5;i++)

printf(\"\\40:%d!=%d\\n\}

int fact(j) int j; {

int sum; if(j==0) sum=1; else

sum=j*fact(j-1);

答案:

1.d, 2.d, 3d, 4.c, 5.a, 6.c, 7.b, 8.a, 9.b, 10.a, 11.c, 12.c, 13.b, 14.d, 15.a,

1. √2、× 3、× 4、√5、×6.√7.× 8. ×9、×10、× 11、√ 12. × 1、2 2、1 3.20 30 30 4. 12 4 5. —60 6. -32768~+32767 7. 1)整型 2)字符型 3)枚举型 8.10 6

1.2 2. k=8 3. -1 4.6 5.2 1. main( ) {

long a,b,c,d,e,x; scanf(\"%ld\

a=x/10000; /*分解出万位*/

b=x%10000/1000; /*分解出千位*/ c=x%1000/100; /*分解出百位*/ d=x%100/10; /*分解出十位*/ e=x%10; /*分解出个位*/

if (a!=0) printf(\"there are

5, %ld %ld %ld %ld %ld\\n\else if (b!=0) printf(\"there are 4, %ld %ld %ld %ld\\n\

else if (c!=0) printf(\" there are 3,%ld %ld %ld\\n\

else if (d!=0) printf(\"there are 2, %ld %ld\\n\

else if (e!=0) printf(\" there are 1,%ld\\n\}

2. #include \"stdio.h\" main() {

int i;

return sum; }

3. main( )

{ int i,j,n;

printf(\"\\nPlease Enter n: \"); scanf(\"%d\ for(i=1;i<=n;i++)

{ for(j=1;j<=n+i-1;j++) if(j>n-i) printf(\"*\"); else printf(\" \"); printf(\"\\n\"); }

for(i=1;i{ for(j=1;j<=2*n-i-1;j++) if(j>i) printf(\"*\"); else printf(\" \"); printf(\"\\n\"); } }

4. main( ) {

long ge,shi,qian,wan,x; scanf(\"%ld\wan=x/10000;

qian=x%10000/1000; shi=x%100/10; ge=x%10;

if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/

printf(\"this number is a huiwen\\n\"); else

printf(\"this number is not a huiwen\\n\"); }

5. age(n) int n;

第 3 页 共 4 页

{

int c;

if(n==1) c=10; else c=age(n-1)+2; return(c); }

main()

{ printf(\"%d\}

6. #include void main() {

char letter;

printf(\"please input the first letter of someday\\n\");

while ((letter=getch())!='Y') /*当所按字母为Y时才结束*/

{ switch (letter)

{case 'S':printf(\"please input second letter\\n\"); if((letter=getch())=='a') printf(\"saturday\\n\");

else if ((letter=getch())=='u') printf(\"sunday\\n\");

else printf(\"data error\\n\"); break;

case 'F':printf(\"friday\\n\");break; case 'M':printf(\"monday\\n\");break;

case 'T':printf(\"please input second letter\\n\"); if((letter=getch())=='u') printf(\"tuesday\\n\");

else if ((letter=getch())=='h') printf(\"thursday\\n\"); else printf(\"data error\\n\"); break;

case 'W':printf(\"wednesday\\n\");break; default: printf(\"data error\\n\"); } } }

7. #include \"math.h\" main() {

int m,i,k,h=0,leap=1; printf(\"\\n\");

for(m=101;m<=200;m++) { k=sqrt(m+1);

第 4 页 共 4 页

for(i=2;i<=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap) {printf(\"%-4d\ if(h%10==0) printf(\"\\n\"); } leap=1; }

printf(\"\\nThe total is %d\}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务