某大学《C语言程序设计》课程考试试卷
适用专业: 考试日期: 年 月 日
考试时间:120分钟 考试形式:闭卷 试卷分数:100分
一、填空题(每空1分,共25分)
1、变量名和指针作函数参数时,变量名传递的是 ,指针传递的是 。
2、表达式 !!5的值是______。
3、printf("%xn", (0x19 <<1) & 0x17);的输出结果是______。
4、只能被本文件中的其它函数所调用的函数称为 ,在定义此类函数时,
在函数名和函数类型前应加 关键字。能被其他文件中的函数所调用的
函数称为 ,在定义此类函数时,一般应在该函数名和函数类型前面
加上 关键字。
5、下列程序段的输出结果是_____。
char *st[ ]={"abcd","efgh","ijkl","mnop"};
printf("%s", *(st+1)+1);
6、表示“x≥y≥z”的C表达式是_______。
7、执行下列程序段,输出结果 , 。
#define f(a, b, x) a*x+b
printf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));
8、若#define PRICE 30,则PRICE称为 。
9、在C 语言程序中,在函数内部定义的变量称为______。
10、若变量c为char类型,则能正确判断出c为小写字母的表达式是 。
11、执行putchar(getchar( ));语句时,当通过键盘输入字符A时,则屏幕上输出 。
12、C语言中的三种基本程序结构是 、 和 。
13、如果X = 3;Y = 5; Y += X + 8; ,则Y = 。
14、如果i = 3;j = 5; j = i + +; ,则j = , i = 。
15、如果char ch[][4] = {“abcd”,“efgh”,“ijklm”,“nopq”}; ,则*((ch+2)+2) = ,
*(ch[1]+2) = , *(ch+1) 代表元素 的地址。
二、单项选择题(每小题2分,共50分)
1、C语言源程序文件经过C编译程序编译连接之后生成的文件后缀名为( )
A> .c B> .obj C> .exe D> .bas
2、表达式值为的0是( )
A> 3%5 B> 3/5.0 C> 3/5 D
3、表达式 !(x>0||y>0) 等价于( )
A> !x>0||!y>0 B> !(x>0)||!(y>0)
C> !x>0&&!y>0 D> !(x>0)&&!(y>0)
4、若变量已正确定义,执行scanf("%d%d%d ",&k1,&k2,&k3);时,输入正确的是( )
A> 2030,40 B> 20 30 40 C> 20, 30 40 D
5、下列语句错误的是( )
A> printf(”%d”, 2); B> printf(”%o”, 2);
C> printf(”%x”, 2); D> printf(”%f”, 2);
6、设变量定义为int s[ ]="hello\nworld\n"; ,则数组s中有( )个元素
A> 12 B> 13 C> 14 D
7、设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是( )
A> 2 B> 3 C> 4 D
8、若变量已正确定义并赋值,表达式 -k++ 等价于( )
A> -(k++) B> (-k)++
C> -(k+1) D> -(++k)
9、下列运算符中,优先级从高到低依次为( )
A> &&,!,|| B> ||,&&,!
C> &&,||,! D> !,&&,||
10、下列程序段的输出结果是( )
int *p, *q, k = 1, j=10 ;
p=&j; q