C语言程序设计习题集及答案

更新时间:2023-10-05 16:23:01 阅读量: 综合文库 文档下载

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

基础知识

一 单项选择题(每题2分,共44分) 1 以下叙述正确的是___。

A C程序基本组成单位是语句 B C程序每一行只能写一个语句 C 简单C语句必须以分号作为结束符 D 注释语句可以嵌套 2 一个C语言程序是从___开始执行的。

A 程序中第一个函数 B 名为main的函数 C 包含文件(头文件)的第一个函数 D 程序中的第一个语句 3 请选出合法的C语言赋值语句___。

A a=b=58 B i++; C a=58,b=58 D k=int(a+b); 4 下面标识符中,合法的用户标识符是 ___。

A 1abc B include C a-b-c123 D char 5 以下所列的C语言整形常量中,正确的是___。

A 0x10 B 0976 C 076L D 01ff 6 C语言中下列运算符的操作数必须为整型的是___。

A % B ++ C / D = 7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf(\%d\\n\,a+=(b%=2));

A 20 B 21 C 0 D 23 8 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2 B 3 C 2.6 D 不确定 9 以下合法的字符常量为___。

A 'ab' B '\\482' C '\\' D '\\xaf' 10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;

A 64 B –56 C –112 D –48 11 以下合法的浮点型常量是___。

A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +5

12 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf(\%d\,sizeof(a*b)+2/5);

A 4 B 8 C 6 D 7

13 设int型占2个字节,且int i=-2;,则语句printf(\%u\,i);的输出结果为___。

A 0 B -2 C 65534 D 65535 14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。

x=a++; y=--a; z=x+y-a--;

A 100 B 400 C 200 D 300

15 若有以下定义和语句:int u=010,v=0x10,w=10,printf(\%d,%d,%d\\n\,u,v,w);,则输出结果是___。

A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,10 16 设x、y为int型变量,则执行下列语句后,y的值是___。

x=5; y=x++*x++; y=--y*--y;

A 529 B 2401 C 1209 D 625

17 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式

1的表达式是____。 abc

A 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c

18 若有定义:int a=8,b=5,c;char d='A';,则执行语句c=a/b+d%a+0.5;后c的值为___。

A 2 B 2.5

C 3 D 类型不一致,无法计算,编译出错 19 在有以下程序:

main()

{ int i=10,j=1; i=i+j++;

printf(\%d,%d,%d\\n\,i++,++j,i); }

执行后输出结果是___。

A 12,3,11 B 12,2,11 C 11,3,11 D 12,3,12

20 已知int i=65;,则putchar(i);printf(\%d\,i);printf(\%c\,i);的输出结果为___。

A A,65,A B 65,65,A C A,A,65 D A,A,A

21 已知int y,a,i=1;,则语句printf(\%d,%d\,-i++,(y=a=3.6*3));的输出结果为___。

A -1,10 B -2,1.8 C 0,3 D 1,18 22 有以下程序:

main()

{ char a,b,c,d; a='\\'; b='\\xbc'; c='\\0xab'; d='\\023';

printf(\%c%c%c%c\\n\,a,b,c,d); }

编译时出现错误,以下叙述中正确的是___。

A 程序中只有a='\\';语句不正确 B b='\\xbc';语句不正确

C d='\\023';语句不正确 D a='\\';和c='\\0xab';语句都不正确

二 填空题(第1题2分,其余每题3分,共56分)

1 设x为int型变量,请写出描述“x是偶数”的表达式是___。

2 已知scanf(\a=%d,b=%d,c=%d\,&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。

3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是___。 4 以下程序的输出结果是___。

main()

{ int a=-10,b=-3; printf(\%d\\n\,-a++); printf(\%d\\n\,-a+b); }

5 以下程序的输出结果是___。

main() { char c; c=0362;

printf(\%d\n\,c);

1

}

6 以下程序段(n所赋的是八进制数)执行后输出结果是___。

int m=32767,n=032767; printf(\%d,%o\\n\,m,n); 7 字符串\\\\\name\\\\\\101ddress\\b\\xaf\的长度为:___。 8 有以下程序段:

int m=0,n=0; char c='a'; scanf(\%d%c%d\,&m,&c,&n); printf(\%d,%c,%d\\n\,m,c,n);

若从键盘上输入:10A10<回车>,则输出结果是___。 9 以下程序的输出结果是___。

main()

{ printf(\%d,%o,%x\\n\,10,10,10); printf(\%d,%d,%d\\n\,10,010,0x10); printf(\%d,%x\\n\,012,012); }

10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,变量a的值为___。 11 以下程序的输出结果为___。

main() { int x=023;

printf(\%x\\n\,--x); }

12 以下程序的结果为___。

main()

{ int a=2,b=3,c,d; c=(a++)+(a++)+(a++); d=(++b)+(++b)+(++b); printf(\a=%d c=%d\\n\,a,c); printf(\b=%d d=%d\\n\,a,d); } 13 以下程序

main()

{ char ch1,ch2,ch3;

scanf(\%c%c%c\,&ch1,&ch2,&ch3); printf(\%c%c%c%c%c\,ch1,'#',ch2,'#',ch3); }

当输入ABC时运行结果为 【1】 ,当输入A BC时运行结果为 【2】 。 14 若有定义:float x;,以下程序段的输出结果是___。

x=5.16894;

printf(\%f\\n\,(int)(x*1000+0.5)/(float)1000);

15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。

main() { char ch;

【1】 /* 从键盘输入一个小写字母 */ 【2】 /* 将该字母转换为大写字母 */

2

【3】 /* 输出转换后的结果 */ }

16 当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则程序的输出结果是___。

main()

{ int a; float b,c; scanf(\-?O\,&a,&b,&c); printf(\\\na=%d,b=%f,c=%f\\n\,a,b,c); }

17 以下程序的运行结果是___。

main()

{ printf(\.5f\\n\,123.1234567); printf(\f\\n\,123.1234567); printf(\.8d\\n\,12345); printf(\.8s\\n\,\abcdefghij\); }

18 运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。

main()

{ char ch1,ch2,ch3;

ch1=getchar(); ch2=getchar(); ch3=getchar(); putchar(ch1); putchar(ch2); putchar(ch3); putchar('\\n'); }

19 运行以下程序时,如从键盘上输入:a=3,b=5↙35,35.12↙abc↙后,结果是___。

main()

{ int a,b; float x,y; char c1,c2; scanf(\a=%d,b=%d\,&a,&b); scanf(\%f,%e\,&x,&y); scanf(\%c%c%c\,&c1,&c1,&c2);

printf(\a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\\n\,a,b,x,y,c1,c2); }

顺序、选择结构程序设计

一 单项选择题(每题2分,共40分) 1 以下程序运行后的输出结果是___。

main()

{ int a=0,b=0;

a=10; b=20; printf(\a+b=%d\\n\,a+b); }

A a+b=10 B a+b=30 C 30 D 出错 2 以下程序运行后的输出结果是___。

main()

{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0;

3

printf(\%d\\n\,d*y); }

A 3 B 3.2 C 0 D 3.07 3 以下程序运行后的输出结果是___。

main()

{ double d; float f; long l; int i; i=f=l=d=20/3;

printf(\%d %ld %.1f %.1f\\n\,i,l,f,d); }

A 6 6 6.0 6.0 B 6 6 6.7 6.7 C 6 6 6.0 6.7 D 6 6 6.7 6.0 4 以下程序运行后的输出结果是___。

main()

{ int a=1,b=2;

a=a+b; b=a-b; a=a-b; printf(\%d,%d\\n\,a,b);

}

A 1,2 B 1,1 C 2,2 D 2,1 5 以下程序运行后的输出结果是___。

main() { int x,y,z; x=y=2; z=3;

y=x++-1; printf(\%d %d \,x,y); y=++x-1; printf(\%d %d\\n\,x,y); y=z---1; printf(\%d %d \,z,x); y=--z-1; printf(\%d %d\\n\,z,x); }

A 3 1 4 3 B 3 1 3 3 C 3 1 4 3 D 2 1 3 2 2 4 1 4 2 4 2 2 2 4 1 2 1 3 1 2 6 以下程序运行后的输出结果是___。

main() { int x,y,z; x=y=1; z=x++,y++,++y;

printf(\%d,%d,%d\\n\,x,y,z); }

A 2,3,3 B 2,3,2 C 2,3,1 D 2,2,1 7 以下程序运行后的输出结果是___。

main()

{ int x=4,y=7; x-=y; y+=x;

printf(\%d %d\\n\,x,y); }

A 4 7 B -3 -3 C -3 11 D -3 4 8 以下程序运行后的输出结果是___。

main()

4

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

Top