C语言复习资料答案

内容发布更新时间 : 2024/5/21 4:30:45星期一 下面是文章的全部内容请认真阅读。

二、类型及表达式 一)合法的标志符: 例题:

1. 是合法的用户自定义标识符的( D )

A)ah-spks B)double C) D)_myapple 2. 以下正确的C语言标识符是( C )

A)%x B)a+b C)a123 D)test! 3. 以下不能定义为用户标识符的是( C )

A) Void B) b_2 C) int D) name

二)合法的整型常量 例题:

1. 以下选项中可作为C语言合法整数的是( D )

A) 11010 B B) 0583 C) x2b2 D) 0xafb

三)合法的实型常量 例题:

1. 以下选项中可作为C语言合法常量的是(A)

A)-80. B)-080 C)-8e1.0 D)-80.0e

四)合法的字符型常量 例题:

1. 设有说明语句:char a=?\\123?;则变量a( A )

A)包含1个字符 B)包含2个字符 C)3个字符 D)说明不合法 2. C 语言中,“\\x5d”在内存中占用的字节数是( A )

A) 2 B) 5 C) 4 D) 1

3. 字符串“\\t\\x42\\\\bcd\\n”的长度是( A )。

A)7 B)10 C)12 D)13

五)各种基本类型变量所占的字节数 例题:

1. 下列式中,值不为4的表达式是( C)

A)sizeof(unsigned long) B)sizeof(long) C)sizeof(unsigned int) D)sizeof(float)

六)合法的表达式 例题:

1. 设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是( BC )

A)a=5++ B)a=b=c++ C)a%=2 D)b=a+1=2

七)表达式的值 例题:

1. 设整型变量a的值为2,下列表达式值为1的是( C )

A)a%3 B)a/3 C)--a D)a++ 2. 下列表达式的值为0的是( A )

A) 7/8 B) 7%8 C) 7/8.0 D) 7<8

3. 设float m=4.0, n=4.0; 使m为10.0的表达式是( D )

A) m-=n*2.5 B) m/=n+9 C) m*=n-6 D) m+=n+2 4. 逗号表达式(a=4*5,a*2),a+15 的值是( A )

A) 35 B) 40 C) 55 D) 20

八)++、--运算 例题:

当i=4,j=5时,表达式3-(i++)*4+(--j)的值如何,i,j的值多少? 表达式值为-9,i=5,j=4

九)表达式的类型 例题:

1. 下列式中,最终运算结果的数据类型不是双精度的表达式的是( A )

A)(int)(3+3.0) B)1e-3 C)(double)(3) D)(int)3.0+3.0

二、顺序结构 例题:

1. putchar函数可以向终端输出一个( D )

A)整数 B)实数 C)字符串 D)字符

二)printf和scanf语句的使用方法: 例题:

1. 设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )

A)2 3 B)2,3 C)2;3 D)2

2. 设变量定义为int a,b;执行下列语句时,输入( B),则a和b的值都是10

scanf(“%d,%d”,&a,&b);

A)10 10 B) 10,10 C)a=10 b=10 D)a=10,b=10 3. 有以下程序

main()

{ int m,n,p;

scanf(\ printf(\

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )

A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789

例题:

1. 有如下程序段:

int a=3,b=15; float f=7.5;

printf(“%.1f”,(float)a+b/2+(int)f%3);

执行该程序段后,运算结果为:( B ) A)11.5 B)11.0 C)11 D)12.0

三、选择结构

一)关系表达式、逻辑表达式和条件表达式 例题:

1. 在C程序中,用( B )表示逻辑”真”。

A)1 B)非0的数 C)非1的数 D)大于0的数

2. 若有定义:int x=2,y=3,z=4;则表达式!(x+y)+z-1&&y+z%2的值为( C ) A)4 B)0 C)1 D)2

3. 设int a=0,b=0,c=0;c=++a||b++;则a、b、c值分别为( d ) A)0 1 0 B)1 1 1 C)1 1 0 D)1 0 1 4. 执行语句:int a=1,b=0,c;c=a>0||++b;后,b的值为( a ) A)0 B)1 C)2 D)不确定

5. 设int x,y,z=4;x=y=++z;x=(y>z)?x+2:x++;则x的值是( C ) A)4 B)5 C)6 D)7

6.

为表示关系x>y>=z,则正确的c语言表达方式为( C )。 A)(x>y>=z) B)(x>y)and(y>=z)

C)(y=z) D)(x>y)&(y>=z)

7. 若变量ch为char类型,能正确判断出ch为大写字母的表达式是(A)?A?<=CH<=‘Z’ B)(ch>=?A?)||(ch<=?Z?) C)(?A?<=ch) and (?Z?>=ch) D)(ch>=?A?)&&(ch<=?Z?)

二)if语句 例题:

1.有以下程序 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); }

程序输出( D )

A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错

2.以下程序运行后的输出结果是 4599 main() {

int a=3,b=4,c=5,t=99;

if(b

}

D )

三)switch语句

(1)switch的执行过程 (2)break的用法 例题:

1.#include main()

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

{case 1:switch(y) { case 0:a++; case 1:b++;

case 2:b++;break; }

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

}

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

输出结果:a=1,b=3

2.#include输入:3210

main() {charc;

while((c=getchar())!=’\\n’) {switch(c-‘1’) {case 0:

case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; }

printf(“\\n”); }

} 输出结果: 6 45 34 1

四)算法

输入出租车里程S,输出应付车费F。 S和F的关系如下:

8?F???8?(S?3)*2S??3 S?3#include void main( ) { float S,F;

scanf(“%f”,&S); if(S<=3) F=8; else F=8+(S-3)*2; printf(“F=%f\\n”,F); }

四、循环结构

一)循环条件均以条件为真(非0)进行循环,以条件为假(0)结束循环) 例题:

1. 以下叙述正确的是(D )

A) do-while语句构成的循环不能用其它语句构成的循环来代替 B) do-while语句构成的循环只能用break语句退出 C) do-while语句构成的循环,在while后的表达式为非零时结束循环 D) do-while语句构成的循环,在while后的表达式为零时结束循环 2. 设有程序段: int k=10;

while(k=0) k=k-1;

则循环体执行的次数为( C )

A)10次 B)9次 C)0次 D)1次 3. 下列( D ) 循环不是无限循环

A) for(y=0; x=1 ; ++y); B) for(; ; x=0);

C) while (x=1) {x=1; } D) for(y=0,x=1;x> ++ y; x++)

二)三种循环的执行流程 例题:

1. 设变量y值为3,执行下列循环语句后,变量y的值的是(C )

do y++; while(y++<4); A)3 B)4 C)5 D)6

2. 执行语句for(I=1;I++<4;); 后变量I的值是( C )

A)3 B)4 C)5 D)0

三)循环嵌套的执行次数 例题:

1.#include “stdio.h” void main() { int I,j;

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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi