C语言复习卷1有答案

发布 2021-05-18 13:20:28 阅读 8664

一、选择题(每小题1 分)

1)下列叙述中错误的是( )

a)一个c 语言程序只能实现一种算法b)c 程序可以由多个程序文件组成。

c)c 程序可以由一个或多个函数组成d)一个c 函数可以单独作为一个c 程序文件存在。

2)下列叙述中正确的是( )

a)每个c 程序文件中都必须要有一个main( )函数b)在c 程序中main( )函数的位置是固定的。

c)c 程序中所有函数之间都可以相互调用,与函数所处位置无关 d)在c 程序的函数中不能定义另一个函数。

3)下列定义变量的语句中错误的是( )

a)int _int; b)double int_; c)char for; d)float us$;

4)若变量x、y 已正确定义并赋值,下列符合c 语言语法的表达式是( )

a)++x,y=xb)x+1=y c)x=x+10=x+y d)double(x)/10

5)下列关于逻辑运算符两侧运算对象的叙述中正确的是( )

a)只能是整数0 或1b)只能是整数0 或非0 整数。

c)可以是结构体类型的数据 d)可以是任意合法的表达式。

6)若有定义int x,y; 并已正确给变量赋值,则下列选项中与表达式(x-y)?(x+ +y+ +中。

的条件表达式(x-y)等价的是( )

a)(x-y>0) b)(x-y<0) c)(x-y<0‖x-y>0) d)(x-y= =0)

7)有下列程序:

main( )

int x,y,z;

x=y=1;

z=x+ +y+ +y;

printf("%d,%d,%d",x,y,z);

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

a)2,3,3 b)2,3,2 c)2,3,1 d)2,2,1

8)设有定义: int a; float b; 执行scanf("%3d%f",&a,&b);语句时,若从键盘输入。

876543.0,a 和b 的值分别是( )

a)876 和543.000000 b)87 和6.000000 c)87 和543.000000 d)76 和543.000000

9)有下列程序:

main( )

int a=0,b=0;

a=10; /给a 赋值。

b=20; 给b 赋值 */

printf("a+b=%d",a+b); 输出计算结果 */

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

a)a+b=10 b)a+b=30 c)30 d) 出错。

10)在嵌套使用if 语句时,c 语言规定else 总是( )

a)和之前与其具有相同缩进位置的if 配对 b)和之前与其最近的if 配对。

c)和之前与其最近的且不带else 的if 配对 d)和之前的第一个if 配对。

11)下列叙述中正确的是( )

a)break 语句只能用于switch 语句b)在switch 语句中必须使用default

c)break 语句必须与switch 语句中的case 配对使用 d)在switch 语句中,不一定使用break 语句。

12)有下列程序:

main( )

int k=5;

while(--k) printf("%d",k-=3);

printf("");

执行后的输出结果是( )

a)1b)2 c)4d)死循环。

13)有下列程序:

main( )

int i;

for(i=1;i<=40;i+ +

if(i+ +5= =0)

if(+ i%8= =0) printf("%d",i);

printf("");

执行后的输出结果是( )

a)5 b)24 c)32d)40

14)下列选项中,值为1 的表达式是( )

a)1-'0b)1-'\0c)'1'-0d)'\0'-'0'

15)有下列程序:

fun(int x,int y)

main( )

int a=1,b=2,c=3,sum;

sum=fun((a+ +b+ +a+b),c+ +

printf("%d",sum);

执行后的输出结果是( )

a)6 b)7 c)8d)9

16)有下列程序:

main( )

char s[ ]abcde";

s+=2;printf("%d",s[0]);

执行后的结果是( )

a)输出字符a 的ascii 码 b)输出字符c 的ascii 码 c)输出字符c d)程序出错。

17)有下列程序:

fun (int x,int y)

static int m=0,i=2;

i+ =m+1; m=i+x+y; return m;

main (

int j=1, m=1, k;

k=fun(j,m); printf("%d, "k);

k=fun(j,m); printf("%d",k);

执行后的输出结果是( )

a)5,5b)5,11 c)11,11 d)11,5

18)有下列程序:

fun(int x)

int p;

if(x= =0‖x= =1) return(3);

p=x-fun(x-2);

return p;

main( )

printf("%d",fun(7));

执行后的输出结果是( )

a)7 b)3 c)2d)0

19)在16 位编译系统上,若有定义int a[ ]p=&a;,当执行p++;后,下列说法错误的是( )

a)p 向高地址移了一个字节b)p 向高地址移了一个存储单元。

c)p 向高地址移了两个字节d)p 与a+1 等价。

20)有下列程序:

main( )

int a=1, b=3,c=5,*p;

int *p1=&a, *p2=&b, *p3=&c;

p=*p1*(*p2);

printf("%d",*p);

执行后的输出结果是( )

a)1b)2c)3d)4

21)若有以下函数首部。

int fun (double x[10],int *n)

则下列针对此函数的函数声明语句中正确的是( )

a)int fun(double x, int *n); b)int fun(double , int); c)int fun(double *x, int n); d)int fun(double *,int *)

22)有下列程序:

void change (int k[ ]

main( )

int x[10]=,n=0;

while (n<=4)

for(n=0;n<5;n+ +printf("%d",x[n]);

printf("");

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

a)6 7 8 9 10 b)1 3 5 7 9 c)1 2 3 4 5 d)6 2 3 4 5

23)若要求定义具有10 个int 型元素的一维数组a,则下列定义语句中错误的是( )

a)#define n 10 b)#define n 5 c)int a [5+5]; d)int n=10,a [n];

int a [nint a [2*n];

24)有下列程序:

main( )

int x[3][2]=,i;

for(i=0;i<3;i+ +scanf("%d",x[i]);

printf("%3d%3d%3d",x[0][0],x[0][1],x[1][0]);

若运行时输入:2 4 6 ,则输出结果为( )

a)2 0 0 b)2 0 4 c)2 4 0 d)2 4 6

25)有下列程序:

main( )

char s[ ]ps;

ps=s; printf("%c",*ps+4);

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

a)ab)e c)u d)元素s[4]的地址。

26)下列语句中存在语法错误的是( )

a)char ss[6] [20]; ss[1]= rightb)char ss[ ]20]=;

c)char *ss[6]; ss[1]= rightd)char ss[ ]

27)若有定义:char *x="abcdefghi";,下列选项中正确运用了strcpy 函数的是( )

a)char y[10]; strcpy(y,x[4b)char y[10]; strcpy(+ y,&x[1]);

c)char y[10],*s; strcpy(s=y+5,xd)char y[10],*s; strcpy(s=y+1,x+1);

C语言 期末复习卷 1

时间 90分钟总分 150分制卷人 杨乾 一 选择题 每小题3分,共18分 1 以下正确的c语言自定义标识符是 a int b a.3 c 7c d 5d 2 已知i 3,执行j i 后,i和j的值分别为 a i 4 j 2 b i 4 j 3 c i 3 j 3 d i 3 j 2 3 以下程序运...

C语言书面作业1 有答案版

书面作业1 数据类型 变量 输入 输出 运算符与表达式 选择结构 循环结构 一 判断题 在正确的说法前面填写t,在错误的说法前面填写f 每题1分 得分 f 1.c语言程序中,注释越多越好。f 2.c语言程序中的注释,不会影响程序的执行速度。f 3.c语言规定,在一个源程序中,main函数的位置必须在...

《C语言程序设计》复习题有答案

一 填空题。1 c 语言的源程序必须通过编译和链接后,才能被计算机执行。2 c 语言的源程序必须通过编译和连接后,才能被计算机执行。3 c语言中的标示符可分为关键字 拥护标示符和预定义标识符 3类。4 c语言中的标示符可分为关键字 用户标识符和预定义标示符3类。5 在c语言中,用关键字 float ...