一、单项选择题(每题1分,共20分)
1. 一个c语言程序是由( ①
a. 一个主程序和若干子程序组成。
b. 若干函数组成。
c. 若干过程组成。
d. 若干子程序组成。
2. 已知:char *s="\name\\address";则s所指的字符串的长度为( ①
a. 18 b. 16 c. 13 d. 14
3. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( ①
a. (exp==0) b. (exp!=0) c. exp==1 d. (exp!=1)
4. 已知:a=b=c=1且均为int型变量,则执行以下语句:
++a||+b&&+c;
变量a值为( ①b值为( ②
a. 不正确 b. 0c. 2d. 1
a. 1b. 2c. 不正确 d. 0
5. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ①
a. 地址传递b. 单向值传递。
c. 双向值传递。即由实参传给形参,再由形参传回给实参。
d. 由用户指定传递方式。
6. 以下正确的函数形式是( ①
a. double fun1(int x,int y)
z=x+y;
return z;
b. fun1(int x, y)
int z;
return z;
c. fun1(x,y)
int x,y;
double z;
z=x+y;
return z;
d. double fun1(int x, int y)
double z;
z=x+y;
return z;
7. c语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ①
a. float型 b. int型 c. long型 d. double型。
8. 以下程序有语法性错误,有关错误原因的正确说法是( ①
void main(void)
a. 语句void prt_char();有错,它是函数调用语句,不能用void说明。
b. 变量名不能使用大写字母。
c. 函数原型说明和函数调用语句之间有矛盾。
d. 函数名不能使用下划线。
9. 执行以下程序段后,变量x和y的值是( ①
#define exch(a,b)
void main(void)
a. 10和5 b. 9.6和5.2 c. 出错 d. 9和5
10. 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( ①
struct pupil
pup[5],*p;
a. scanf("%d",p->age);
b. scanf("%s",pup[0].name);
c. scanf("%d",&pup[0].age);
d. scanf("%d",&pup[1].sex));
11. 若已有定义int(*p)()则指针p( ①
a. 代表函数的返回值。
b. 指向函数的入口地址。
c. 表示函数的类型。
d. 表示函数返回值的类型。
12. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( ①
a. a,p,&*a b. *a,&a,*p c. &a,p,&*p d. *p,*p,&a
13. 设x、y均为float型变量,则以下不合法的赋值语句是( ①
a. +x; b. y=(x%2)/10;
c. x*=y+8; d. x=y=0;
14. 已知:unsigned int x=65535;则执行以下语句后的x值为( ①
printf("%d",x);
a. 65535 b. 1c. 无确定值 d. -1
15. 求字符串长度的函数是。
a. strcat b. strcpy c. strcmp d. strlen
16. 下述对c语言字符数组的描述中错误的是( ①
a. 字符数组可以存放字符串。
b. 字符数组的字符可以整体输入、输出。
c. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值。
d. 可以用关系运算符对字符数组中的字符进行比较。
17. 当运行以下程序时, 从键盘输入:ahama_aha,则下面程序的运行结果是( ①
注:_ 代表空格)。
#include<>
void main(void)
puts(s);
a. ahama b. ahama c. ahama_aba d. ahama_aha
18. 有一堆零件(100到200之间), 如果分成4个零件一组的若干组, 则多2个零件;若分。
成7个零件一组, 则多3个零件;若分成9个零件一组, 则多5个零件。
下面程序是求这堆零件总数, 请选择。
#include<>
void main(void)
a. i%9=5b. i%9!=5
c. (i-5)%9!=0d. i%9==5
19. 以下关于do-while循环的不正确描述是( ①
a. do-while的循环体至少执行一次。
b. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
c. 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作。
d. do-while的循环体可以是复合语句。
二、是非判断题(每题1分,共15分)
1. 程序的执行总是从主函数开始,主函数执行完时,则程序执行结束。
2. 控制台标准输入设备一般是指键盘。
3. do-while语句的循环体至少执行一次。
4. 循环体中continue语句的作用是结束整个循环的执行。
5. c语言规定,else子句总是与它上面的最近的if配对。
6. 数组的长度是固定的。
7. 若有说明:int a[3][4]; 则a[1+1][0]是对a数组元素的正确引用。
8. char a=不是正确的数组说明语句。
9. 字符串"this"大于字符串"that"。
10. 在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式。
11. 如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,局部变量被“屏蔽”,即它不起作用。
12. 函数中的局部变量与全局变量同名时,局部变量优先,全局变量暂时不起作用。
13. 全局变量可以被任何一个函数中的任何一个表达式使用。
14. 表达式i++与++i在任何场合功能完全相同。
15. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
三、多项选择题(每题1分,共5分)
1. 下列关于switch语句和break语句的结论中,不正确的是( )
a. break语句用来退出switch语句。
b. 在switch语句中可以根据需要使用或不使用break语句。
c. 在switch语句中必须要使用break语句。
d. break语句用来重新执行switch语句。
2. 下面标识符中,不合法的用户标识符为( ①
a. pad
b. a_10
c. char
d. a#b
e. int
f. signed
C语言程序设计试卷A
c语言程序设计期末考试试卷 a 荆楚理工学院。2009 2010学年度第二学期期末考试。c语言程序设计 试题a卷。机制专业08年级120分钟2010年6月。说明 本试卷中的程序用于tc2.0,但均省略了getch 语句。一 用c语言描述下列命题 每小题1分,共5分 1 a小于b或a小于c。2 a或b...
C语言程序设计试卷A
山东师范大学2006 2007学年第二学期期末考试试题。时间 120分钟共100分 课程编号 4111108 课程名称 c语言程序设计适用年级 2006 学制 四适用专业 计算机科学与技术试题类别 a a b c 一 选择题 下面每题的选项中,只有一个是正确的,请选择正确的答案填入答题卡中对应的题号...
c语言程序设计试卷a
c语言程序试卷a 班级姓名分数 一 选择题 每小题2分,共30分 1.已知ch是字符型变量,下面不正确的赋值语句是 a ch 5 9 b ch a b c ch 0 d ch 7 6 2.正确的自定义标识符是 a a 2 b a b c name d default 3.设int a,b,c 执行表...