C语言题目总结

判断题

F F F 表示错误, T T T 表示正确。

1. 一个C源程序只能包含一个函数。 (F)
2.C程序的可读性与书写习惯的无关。 (F)
3.‘ ? ’是合法的C语言标识符。 (F)
4.注释说明必须单独一行。 ( F)
5. 注释说明可以占多行。 (T)
6. switch语句中,case后的标号常量可以相同。 (F)
7.switch语句中,case后的标号常量可以float型数据 (F)
8. switch语句中可以有continue语句。 (F)
9. 逻辑非的优先级高于逻辑或。 (T)
10.逻辑非的优先级高于逻辑与。 (T)
11.下面循环语句的循环执行次数是5次。i=-2;while(i<11)i+=3; T
12.下面循环语句的循环执行次数是4次。i=-2;while(i<11)i+=3;F
13. 下面循环语句的循环执行次数是6次。i=-2;while(i<11)i+=3;F
14.c语言中的do…while和for语句的循环体至少执行1次,while循环的循环体可能一次也执行不到。 F
15. 下面循环语句的循环执行次数是4次。i=2;while(i<11)i+=3; F
16.下列二层循环的循环体的执行次数为12。T

for(i=1;i<6;i+=2for(j=0;j<4;j++

17. 下列二层循环的循环体的执行次数为12。 F

for(i=1;i<5;i+=2for(j=0;j<4;j++

18.下列二层循环的循环体的执行次数为9。 T

for(i=1;i<7;i+=2for(j=0;j<3;j++

19. C语言中的continue语句可以终止多重循环。F
20. C语言中的break语句不能退出多重循环,只能退出它所在的那一层循环。T
11.数组定义为int m[6];则m[1] = ’a’;是合法的赋值语句。T
12.数组定义为char m[6];则m[1]=99;是合法的赋值语句。T
13.数组定义为char m[6];则m=“sdf”;是合法的赋值语句。F
14.C语言中在定义数组X后,可以使用如下语句如X[ ]={1,2,3};给数组初始化。 (F)
15.C语言中二维数组在定义的同时给数组赋初值时,数组的各维长度都可以省略。(F)
16.C语言中的数值型数组可以一次引用整个数组。 F
17. C语言中的字符型数组可以一次引用整个数组。T
18. C语言中的数组名是数组首元素的内存地址,可以重新赋值。F
19.C语言中的字符型数组不可以一次引用整个数组。F
20.C语言中可以用关系运算符来比较字符串的大小。F
21.在C语言中,函数返回值的类型是由return语句中的表达式类型所决定的。F
22.在C语言中,函数返回值的类型是由调用该函数时的主调函数类型所决定。F
23.在C语言中,函数返回值的类型是由调用该函数时系统临时决定。 F
24. 在C语言中,函数返回值的类型是由在定义该函数时所指定的函数类型所决定。 T
25.在C语言中函数返回语句return后的表达式值类型可以与定义的函数类型不一致。T
26.函数定义时若函数类型为void,则表示不需要返回数据。T
27. 函数定义时若函数类型为void,则表示需要返回数据。F
28.函数定义时形参列表可以为空。T
29. 函数定义时可以缺省函数形参名。T
30.函数定义时形参类型可以省略。F
31.若有如下定义:int b[5], *q=b,则q+4表示b[4]的值。F
32.若有如下定义:int b[6], *q=b,则 q+3表示b[3]的地址。T
33.若有如下定义:int m[7], *p=m,则 p+1表示m[1]的地址。T
34.若有如下定义:int b[8], *q=b,则 q+3表示b[4]的地址。F
35.若有如下定义:int b[8], *q=b,则 q+3表示b[3]的值。F
36. c语言中当定义一个结构体变量时,系统为它分配的内存空间是结构体中各成员变量所需内存容量之和。T
37.c语言中结构体中成员类型可以不一致。T
38.c语言中当定义一个结构体变量时,系统为它分配的内存空间是结构体中第一个成员所需的内存容量。F
39.c语言中当定义一个结构体变量时,系统为它分配的内存空间是结构体中占内存容量最大的成员所需的内存容量。F
40.结构体变量在使用时只能访问它的成员,不能整体访问。F

选择题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编程改错题

1. 下列程序的功能是求三角形的面积, a 、 b 、 c a、b、c abc为三角形的三边长。计算三角形面积的公式为 :
在这里插入图片描述
其中 在这里插入图片描述
阅读程序,请口述出程序中的错误行并说明如何改正。

1)#include <stdio.h>2)#include <math.h>3int main()4{5float a,b,c,s,area 
(6printf("Please input 3 numbers:\n");7scanf("%f%f%f",a, b, c);8if(a+b>c||b+c>a||a+c>b)9{10)       s=(a+b+c)/2;11)       area = sqrt(s(s-a)(s-b)(s-c));12printf("area is %.2f\n",area);13}14else if15printf("error.\n");16}  
参考答案:找出3个错误即可得满分。
第5行: float a,b,c,s,area 改为 float a,b,c,s,area ;
第7行:scanf("%f%f%f",a, b, c);改为scanf("%f%f%f",&a, &b, &c);8行: if( a+b>c || b+c>a || a+c>b ) 改为if( a+b>c && b+c>a && a+c>b )11行: area = sqrt(s(s-a)(s-b)(s-c)); 改为area = sqrt(s*(s-a)*(s-b)*(s-c));14行: else if  改为 else 

2. 以下程序的功能是:统计字符串中大写英文字母的个数。阅读程序,请口述出程序中的错误行并说明如何改正。

1)#include <stdio.h>2)#include <string.h>3int main();4{   char str1[128];5int i,len,sum=1;6gets(&str1);7)    len=strlen(str1);8for(i=0;i<len;i++)9{10if(str1[i]>='a'||str1[i]<='z')11)       sum++;12}13printf(%d\n,&sum);14}  
参考答案:找出3个错误即可得满分。
第3行:main();改为main()5行:sum=1改为sum=06行: gets(&str1); 改为 gets(str1);10行:if(str1[i]>='a'||str1[i]<='z')   改为:if(str1[i]>='A'&&str1[i]<='Z')11行: printf(%d\n,&sum);改为printf("%d\n",sum);  

3. 以下程序的功能是:输入一个大于3的整数n,判定它是否为素数。阅读程序,请口述出程序中的错误行并说明如何改正。

1)#include<stdio.h>2)int main()
3){	
4)  int n,i
5)  scanf(%d”,n);
6)  for(i=2;i<=n-1;i++)
7)    if(n/i==0)  break;
8)  if( i<n )
 9)     printf(%d is not a prime number.\n”,n);
10)  else if
11)    printf(%d is a prime number.\n”,n);
12)  }
参考答案:找出3个错误即可得满分。
第1行:去掉行末的分号
第4行:int n,i改为:int n,i;
第5行:scanf(%d”,&n);7行:if(n/i==0)改为if(n%i==0)10行:else if改为else

4. 以下程序的功能是:统计若干正数的最大值和最小值,当输入负数时结束。阅读程序,请口述出程序中的错误行并说明如何改正。

1)#include<stdio.h>2)int main
3){	
4)  int x,max,min;
5)	scanf(%d”,&x);
6)	max=x;min=x:
7)	while( x>0 );
8)	{
9)		if(x<max)  max=x;
10)		if(x<min)  min=x;
11)		scanf(%d”,&x);
12) }
13) printf(max=%d,min=%d,max,min);
14) }
参考答案:找出3个错误即可得满分。
第1行:去掉行末的分号
第2行:main改为main()5行:去掉行末的分号
第9行:if(x<max)改为if(x>max)13printf(max=%f,min=%f,max,min);改为printf(“max=%f,min=%f”,max,min);

5.以下程序的功能是:统计字符串中小写英文字母的个数。阅读程序,请口述出程序中的错误行并说明如何改正。

1)#include <stdio.h>2)#include <string.h>3int main();4{   char str1[128];5int i,len,sum=1;6gets(&str1);7)    len=strlen(str1);8for(i=0;i<len;i++)9{10if(str1[i]>='A'||str1[i]<='Z')11)        sum++;12}13printf(%d\n,&sum);14}  
参考答案:找出3个错误即可得满分。
第3行:main();改为main()5行:sum=1改为sum=06行: gets(&str1); 改为 gets(str1);10行:if(str1[i]>='A'||str1[i]<='Z')   改为:if(str1[i]>='a'&&str1[i]<='z')11行: printf(%d\n,&sum);改为printf("%d\n",sum); 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸愉聊信奥

谢谢亲的支持,我会继续努力啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值