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;