C语言试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档