C语言试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言题
一、判断题(每题1分,共计10分)
1.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参。()
2.使用float b定义的外部变量存放在内存中的动态存储区。()
3.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义
了一个变量,则该变量为局部变量,只在该复合语句中有效;。()
4.int (*ptr) (),则ptr是一维数组的名字。()
5.指针在任何情况下都可进行>,<,>=,<=,==运算。()
6.形参是局部变量,函数调用完成即失去意义。()
7.C语言程序总是从main()函数开始执行,C语言程序中的main()函数必须放在程序的开
始部分。()
8.在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套。()
9.若函数调用时用数组名作为函数参数,实参与其对应的形参共占用同一段存储空间,
在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组。()
10.局部变量不能和全局变量重名。()
二、(共计10分)
1. 以下为Windows NT 下的32 位C程序,请计算sizeof 的值
char str[] = “Hello” ;
char *p = str ;
int n = 10;
long d=12;
请计算
sizeof (str ) =__ (0.5分)
sizeof ( p ) =__ (0.5分)
sizeof ( n ) =__ (0.5分)
sizeof(d)=__(0.5分)
2. 请给出如下程序的结果
int a = 3;
int b = a << 3;
a = ____ ,(0.5分)
b = ____(0.5分)
3.int i=10, j=10, k=3; k*=i+j; k 最后的值是__(1分)
4. 1.-1,2,7,28,,126请问28和126中间那个数是__(2分)
5.如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a的大小是___(1分)
6.以下程序:
#include
void main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y);
}
输出结果为:___(0.5分),___ (0.5分)
7.函数调用语句:
func((exp1,exp2),(exp3,exp4,exp5));
含有实参个数为:___(2分)。
三、选择题(每题2分,共20分)
1.在执行语句:int a[ ][3]={1,2,3,4,5,6}; 后,a[1][0]的值是____ ____.
A) 4 B) 1 C) 2 D) 5
2.有如下程序
#include
void main()
{ char ch[80]="123abcdEFG*&";
int j;long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++)
if(ch[j]>='A'&&ch[j]<='Z')
ch[j]=ch[j]+'e'-'E';
puts(ch);
}
该程序的功能是________.
A) 测字符数组ch的长度
B) 将数字字符串ch转换成十进制数
C) 将字符数组ch中的小写字母转换成大写
D) 将字符数组ch中的大写字母转换成小写
3.下述对C语言字符数组的描述中错误的是_____.
A) 字符数组可以存放字符串
B) 字符数组中的字符串可以整体输入、输出
C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D) 不可以用关系运算符对字符数组中的字符串进行比较
4.运行下面程序时,若从键盘输入"3,4
#include
void main( )
{ int a,b,s;
scanf("%d,%d",&a,&b);
s=a;
if (s
s=s*s;
printf("%d\n",s) ;
}
A) 14 B) 16 C) 18 D) 20
5.假定等级和分数有以下对应关系:
等级:A 分数:85~100
等级:B 分数:60~84
等级:C 分数:60 以下
对于等级grade输出相应的分数区间,能够完成该功能的程序段是________.
A) switch (grade)
{
case 'A':printf("85--100\n");
case 'B':printf("60--84\n");
case 'C':printf("60以下\n");
default:printf("等级错误!\n");
}
B) switch (grade)
{
case 'A':printf("85--100\n");break;
case 'B':printf("60--84\n");
case 'C':printf("60以下\n");
default:printf(" 等级错误!\n");
}
C) switch (grade)
{
case 'A':printf("85--100\n");break;
case 'B':printf("60--84\n");break;
case 'C':printf("60以下\n");
default:printf("等级错误!\n");
}
D) switch (grade)
{
case 'A':printf("85--100\n");break;
case 'B':printf("60--84\n");break;
case 'C':printf("60以下\n");break;
default:printf("等级错误!\n");
}
6.有如下程序:
#include
void main( )
{ int a=2,b=-1,c=2;
if (a
if (b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是________.
A) 0 B) 1 C) 2 D) 3
7.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w 则该程序段执行后,m的值是_________. A) 4 B) 3 C) 2 D) 1 8.对于for(表达式1;;表达式3)可理解为__________. A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3)