C语言程序设计习题集及答案(修改)

更新时间:2023-10-10 00:46:01 阅读量: 综合文库 文档下载

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

C语言程序设计

习题集

基础知识

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

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

A 程序中第一个函数 B 名为main的函数 C 包含文件(头文件)的第一个函数 D 程序中的第一个语句 4 下面标识符中,合法的用户标识符是 ___。

A 1abc B include C a-b-c123 D char 8 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2 B 3 C 2.6 D 不确定 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 14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。

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

A 100 B 400 C 200 D 300 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 在有以下程序:

int main()

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

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

执行后输出结果是___。

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 有以下程序:

int main()

{ char a,b,c,d;

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

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

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

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的值是___。

10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,

变量a的值为___。 12 以下程序的结果为___。

int 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); return 0; }

顺序、选择结构程序设计

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

int main()

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

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

A 4 7 B -3 -3 C -3 11 D -3 4

10 设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。

A 'a'&&'b' B a&&b||c C a&&b&&c D a||b&&c 11 在嵌套使用if语句时,C语言规定else总是___。

A 和之前与其具有相同缩进位置的if配对 B 和之前与其最近的if配对

1

C 和之前与其最近不带else的if配对 D 和之前的第一个if配对

12 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

___。

A a<>0 B !a C a=0 D a 13 以下程序运行后的输出结果是___。

int main()

{ int a=2,b=-1,c=2; if(a

if(b<0) c=0; else c++;

printf(\%d\\n\,c); return 0; }

A 0 B 1 C 2 D 3 14 若k是int型变量,下面的程序段的输出结果是 。

k=-3;

if(k<=0) printf(\####\) else printf(\&&&&\);

A #### B &&&&

C ####&&&& D 有语法错误,无输出 15 以下程序运行后的输出结果是___。

int main()

{ int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;

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

A 0,1,2,0 B 0,0,0,3 C 1,1,2,0 D 编译有错 16 以下程序运行后的输出结果是___。

int main()

{ int x1=1,x2=0,x3=0;

if(x1=x2+x3) printf(\****\); else printf(\####\); return 0; }

A **** B 有语法错误 C #### D 无输出结果 17 当a=1,b=3,c=5,d=4时,执行下面一行程序后,x的值是___。

if(a

A break语句只能用于switch语句 B 在switch语句中必须使用default

C break语句必须与switch语句中的case配对使用

2

D 在switch语句中不一定使用break语句 20 以下程序运行后的输出结果是___。

#include int 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; }

printf(\a=%d,b=%d\\n\,a,b); return 0; }

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

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

8 为表示关系x≥y≥z,应使用C语言表达式___。 9 下面的程序段的输出结果是___。

int x=3;

if((x%2)?printf(\**%d\,x):printf(\##%d\\n\,x)); 10 以下程序运行后的输出结果是___。

int main() { int m=5; switch(m/2) { case 1: m++; case 2: m+=3;

case 5: m+=6;break; default: m-=7; }

printf(\%d\\n\,m); return 0; }

三 程序填空(每空5分,共30分) 1 下列程序的输出结果是16.00,请填空。

int main()

{ int a=9,b=2;

float x= 【1】 ,y=1.1,z; z=a/2+b*x/y+1/2; printf(\%5.2f\\n\,z); return 0; }

3

循环结构程序设计

一 单项选择题(每题2分,共40分)

1 以下程序中,while循环的循环次数是___。

int main() { int i=0; while(i<10)

{ if(i<1) continue; if(i==5) break; i++; } ?? return 0; }

A 1 B 10 C 6 D 死循环 2 以下程序的执行结果是___。

int main() { int n=9;

while(n>6) { n--; printf(\%d\,n); } return 0; }

该程序的输出结果是

A 987 B 876 C 8765 D 9876 3 以下程序段,while循环执行的次数是___。

int k=0;

while(k=1) k++;

A 无限次 B 有语法错 C 一次也不执行 D 执行1次 4 以下叙述正确的是___。

A do-while语句构成的循环不能用其它语句构成的循环来代替 B do-while语句构成的循环只能用break语句退出

C 用do-while语句构成的循环,在while后的表达式为非零时结束循环 D 用do-while语句构成的循环,在while后的表达式为零时结束循环 6 以下程序的执行结果是___。

int main() { int x=23;

do{ printf(\%d\,x--); }while(!x); return 0; }

A 321 B 23 C 不输出任何内容 D 陷入死循环 7 有以下程序段,输出结果是___。

int x=3;

do { printf(\%d \,x-=2); }while(!(- -x));

A 1 B 3 0 C 1 -2 D 死循环 8 以下程序的输出结果是___。

int main()

4

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

Top