C语言程序设计习题(含答案)
- 格式:docx
- 大小:56.38 KB
- 文档页数:9
一 、名词解释(每小题4分,共20分)
1. 变量
2. 赋值运算
3. int
4. 数组
5. 函数
二、单选题(每小题2分,共20分)
1. 以下运算符中,表示取余数运算的是
( )
A. % B. / C. != D. <=
2. C语言中,表示“不等于”、“不相等”的运算符是
( )
A. ≠ B. != C. < > D. =/=
3. C语言中,printf函数中的格式字符%d用来
( )
A. 输出一个字符串 B. 输出单个字符
C. 输出十进制整数 D. 输出双精度浮点数
4. C语言中,要求接受用户从键盘输入的一个英文字符到char型变量ch中,那么,该语句的正确写法是
( )
A. scanf("%z",ch); B. scanf("%c",ch);
C. scanf("%z",&ch); D. scanf("%c",&ch);
5. 定义一个用来存放双精度浮点数且名为x的变量的正确语句是
( )
A. double x; B. float x;
C. Double x; D. Float x;
6. 判断整数型变量score的取值是否在区间[60,100]的正确写法是
( )
A. if (score>=60 and score<=100) B. if (score>=60 &&
score<=100) C. if (score>=60 & score<=100) D. if (60<= score <=100)
7. 定义最多能存放30个整数且名为scores的数组的正确语句是
( )
A. INT scores[30]; B. int [30] scores;
C. int scores[30]; D. INT [30] scores;
8. 利用string.h中库函数求字符串s的长度的表达式正确写法是
( )
A. len(s) B. length(s) C. strLen(s) D.
strlen(s)
9.利用string.h中库函数判断字符串s1大于等于字符串s2的正确写法是
( )
A. if(strcmp(s1,s2)>=0) B. if (s1>=s2)
C. if(strcmp(s1,s2)≥0) D. if (s1≥s2)
10. 以下能输出数字0,1,2,3,4,5,6,7,8,9且每行输出一个数字的正确语句是 ( )
A. for( i=0; i<10; i++ ) { printf("%d",i); } B. for( i=0; i<10;
i++ ) { printf("%d\n",i); }
C. for( i=0; i<10; i++ ) { printf("%d\n",i+1); } D. for( i=0; i<10;
i-- ) { printf("%d\n",i); }
三、判断题(每小题2分,共10分)
1. C语言中,int可以作为变量名,例如语句:char int;可以定义名为int的字符型变量。( )
2. 数组的下标是从0开始的,例如有语句:int a[5];,那么,数组a的第一个元素为
a[0]。
( )
3. C语言中,循环结构的语句有:for, while, do…while三种形式。
( )
4. C语言中,变量必须先定义才能访问。
( ) 5. C语言中,数组中每个元素的数据类型可以是不相同的。
( )
6. 关系运算中表示“相等”的运算符为双等号,即==。
( )
7. 在定义函数时,函数体中必须使用return语句。
( )
8. C语言中,字符串常量以双引号作为定界符,而字符常量以单引号作为定界符。
( )
9. C语言中,数组可以无限大。
( )
10 . C语言中,double型变量和float型变量都可以存储和处理小数,前者的能表示的有效数字位数比后者小。
( )
四、简答题(每小题6分,共30分)
1. 画出以下程序的流程图,并写出当输入为100时程序输出的结果:
#include
int main() {
int i,n,sum;
scanf("%d",&n);
sum=0;
for(i=1; i<=n; i++) {
sum=sum+i;
}
printf("%d",sum);
return 0;
}
2. 阅读以下程序代码,写出当输入为如下数据时程序的运行结果。
#include
int main() {
int i,n,score;
scanf("%d",&n); for(i=0; i
scanf("%d",&score);
printf("该生成绩为%d,",score);
if(score<0 || score>100){
printf("分值错误!其取值范围应为[0,100]\n");
}else if(score<60){
printf("挂科啦!\n");
}else{
printf("及格啦!\n");
}
}
return 0;
}
输入数据:
6
90 59 -30 60 120 100
3. 简述C语言中标识符(例如变量名、数组名、函数名)的命名规则。
4. 简述在循环结构中使用break和continue语句对循环过程影响有何区别?
5. 请说明add()函数定义代码各部分的具体含义:
int add(int a,int b){
int sum;
sum=a+b;
return sum;
}
五、编程题(每小题10分,共20分)
请根据以下给定的编程任务,编写完整的C语言程序,要求该程序运行起来后,能接受按指定格式输入的数据,并且能按所要求的功能与指定格式输出结果。
1. 编程任务名称:倒计时
编程任务描述:每逢重要时刻的到来,我们通常会用倒计时的方式吸引大家的注意力。现在给定需要倒计时的起始数字n,请输出每次倒计时数出的数字,最后输出“go”。
输入:
一个非负整数n
输出:
逐行输出从n倒数到1的每个数字,最后输出“go”。
输入举例:
5
输出举例: 5
4
3
2
1
go
2. 编程任务名称:营业总收入
编程任务描述:某商店在当日打烊后需要盘点当日的营业总收入,每笔收入均为整数,请编写程序统计当日的营业总收入。
输入:
第一行有一个非负整数n,表示当日收入的笔数。其后一行有n个表示每笔收入的整数,数据之间为空格分隔。
输出:
当日的营业总输入。
输入举例:
4
110 80 90 20
输出举例:
300
参考答案
一、名词解释(每小题4分,共20分)
1. 在C语言中,变量是用来存储数据,它占用一定的存储空间。变量可以看做是存放数据的容器。它具有唯一的名字。在程序中,可以通过变量名来读取其中的数据或修改其中的数据。
2. 赋值运算符为单等号,即=。形如:变量名=常量值或表达式,它表示将等号右边的常量值或表达式的值赋给等号左边的变量。此时,变量中原来的值被覆盖,其值被改写为刚赋的新值。
3. 在C语言中,int表示有符号的整数数据类型,它用32位二进制即4字节来存储和表示。它存放的最小整数为-231,最大整数为231-1。
4. C语言中,数组用来存储一组具有相同数据类型的数据。这些数据在内存中顺序存放。在程序中,通过“数据类型名 数组名[数组大小]”的方式定义数组,通过“数组名[下标]”的方式访问其中的每个元素,下标为0的元素是其第一个元素。
5. 函数是具有一定功能的代码模块,它是模块化程序设计的基本单元。它具有功能明确、边界清晰、相对独立,方便重用的特点。
二、单选题(每小题2分,共20分)
1~5: ABCDA 6~10: BCDAB
三、判断题(每小题2分,共10分)
1~5:√√√√× 6~10 :√√√√×
四、简答题(每小题6分,共30分)
1. 答:流程图如下:
当输入100时,输出结果为5050。
2. 答:
该生成绩为90,及格啦!
该生成绩为59,挂科啦!
该生成绩为-30,分值错误!其取值范围应为[0,100]
该生成绩为60,及格啦!
该生成绩为120,分值错误!其取值范围应为[0,100]
该生成绩为100,及格啦!
3.简述C语言中标识符(例如变量名、数组名、函数名)的命名规则。 i<=n
printf("%d",sum)
i=i+1 sum=sum+i 否
是 i赋初值1 定义变量i,n,sum
输入n
sum赋初值0
return 0;