姓名:              学号:                系别:                年级专业:               
(密封线内不答题)
……………………………………………………密………………………………………………封………………………………………线……………………………………线……………………………
_____________________
************(本科)试卷(A卷)
2011--2012学年第 学期
C程序设计》试卷
开课单位:计算机学院,考试形式:闭卷,允许带            入场
题序
c十十程序设计语言
得分
评卷人
一、单项选择题(共40分每题1分)
说明:答案必须填写在答题卡的相应位置上,否则不得分。
1.C语言中字符型(char)数据在内存中的存储形式是________。
    A、原码                B、反码            C、补码            D、ASCII码
2.C语言中基本的数据类型包括________。
    A、整型、实型、逻辑型                B、整型、实型、字符型
    C、    整型、字符型、逻辑型            D、整型、实型、逻辑型、字符型
3.在C语言中,int类型数据在内存中占用________。
A、2字节            B、4字节            C、由编译系统决定        D、由用户决定
4.运算符有优先级,C语言中关于运算符优先级的正确叙述是________。
    A、逻辑运算符高于算术运算符,算术运算符高于关系运算符;
    B、算术运算符高于关系运算符,关系运算符高于逻辑运算符;
    C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符;
    D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。
5.下面关于C语言语句的叙述,错误的是________。
    A、C语言一行可以允许写多条语句;       
    B、C语言语句用分号结束;
    C、语句一行写不下时,可以用逗号换行 ;
    D、语句一行写不下时,可在任意一空格处回车换行 。 
6.下面数据中不属于字符型常量的是________。
    A、“\n”            B、‘\0’            C、‘A’            D、‘\t’
7.11.以下选项中,当x为大于1的奇数时,值为0的表达式__________ 。
A、 x%2==1      B、 x/2      C、x%2!=0    D、x%2==0
8.C语言源程序名的后缀是__________ 。
A 、 .exe          B、 .C            C、 .obj              D、 .cp
9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是________。
A、7                B、8                C、6            D、2
10.若有说明语句:int a;float b;,以下输入语句正确的是________。
    A、scanf("%f%f",&a,&b);            B、scanf("%f%d",&a,&b);
    C、scanf("%d,%f",&a,&b);            D、scanf("%6.2f%6.2f",&a,&b);
11.已知int a,b; 用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是________。
    A、 ,            B、空格                C、回车            D、[Tab]
12.C语言对嵌套if语句的规定是:else总是与______配对。
    A、与之前最近的if            B、第一个if
    C、缩进位置相同的if            D、其之前最近的且尚为配对的if
13.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是______。
    A、if(a)s1; else s2;                B、if(a==0)s2; else s1;
    C、if(a!=0)s1; else s2;            D、if(a==0)s1; else s2;
14.若有下面程序片段,则输出结果为______。
    int x=10,y=10;
    printf(“%d,%d”,x--,--y);
A、10,10                B、9,9                C、9,10                D、10,9
15.对if语句中表达式的类型,下面正确的描述是_________。
A、必须是关系表达式                    B、必须是关系表达式或逻辑表达式
C、必须是关系表达式或算术表达式        D、可以是任意表达式
16.以下错误的if语句是_________。
    A、if(x>y);           
    B、if(x= =y)x+=y;
C、if(x!=y)printf("%d",x)  else  printf("%d",y);
D、if(x<y){x++;y++;}
17.若要求在if后的一对圆括号中表示x与y相等的关系,则不能正确表示这一关系的表达式为________。
A、x=y                B、x= =y                C、!(x-y    )            D、!(y-x)
18.以下错误的描述是______。
    A、break语句不能用于循环语句、switch语句外的任何其它语句;
    B、在switch语句中使用break语句或continue语句的作用相同;
    C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环;
    D、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。
19.以下四个关于C语言的结论中,只有一个是错误的,它是______。
    A、可以用while语句实现的循环一定可以用for语句实现;
    B、可以用for语句实现的循环一定可以用while语句实现;
    C、可以用do-while语句实现的循环一定可以用while语句实现;
    D、do-while语句与while语句的区别仅是关键字“while”出现的位置不同。
20.以下程序段执行后,变量i的值是______。
    for(i=1;i<=100;i+=2);
    A、100                B、102                C、99                D、101
21.与语句while(!x)等价的语句是______。
    A、x= =0            B、x= =1            C、x!=0                D、x=0
22.下面的for循环是______
    for(i=0,j=0;(j!=123)&&(i<4);i++)
    A、无限循环            B、循环次数不定        C、执行4            D、执行3
23.以下错误的描述是______。
    A、使用while和do-while循环时,循环变量初始化的操作在循环语句之前完成;
    B、while循环是先判断表达式,后执行循环体语句;
    C、do-while和for循环均是先执行循环体语句,后判断表达式;
    D、for、while和do-while循环中的循环体均可以由空语句构成。
24.在C语言中,引用数组元素时,其数组下标的数据类型允许是_________。
    A、整型常量                        B、整型表达式
    C、整型常量或整型表达式            D、任何类型的表达式
25.若要定义一个有10个int元素的数组,应当选择语句________。
    A、int a[10];            B、int a[2,5];            C、int a(10);            D、int *a[10];
26.以下能对一维数组a进行正确初始化的语句是_________。
A、int a[5]=”student”;                B、int a[5]={ 1;2;3;4;5};
C、char a=“student”;                D、char a[]={65,66,67,’\0’};
27.若要定义一个具有3行4列整型元素的数组a,正确的定义方法是_______。
    A、int a[3][4]    ;        B、int a(3)(4);        C、int a[3,4];            D、int a(3,4);
28.若二维数组a有m列,则在a[i][j]之前的元素个数为________。
A、j*m+i            B、i*m+j            C、i*m+j-1            D、j*m+i-1
29.若有定义int a[][3]={{1,2,3},{0},{4,5,6}};则a[2][1]的值是_________。
    A、0                B、4                C、5                D、6
30.下列有关字符数组的描述中错误的是_________。
    A、字符串可以整体输入,输出;
    B、可以在赋值语句中通过赋值运算对字符数组整体赋值;
    C、字符数组可以存放字符串;
    D、不可以用关系运算符对字符数组中的字符串进行比较。
31.以下说法中正确的是________。
    A、C语言程序总是从第一个函数开始执行;
B、在C语言程序中,要调用的函数必须在main()函数中定义;
C、C语言程序总是从main()函数开始执行;
D、C语言程序中的main()函数必须放在程序的开始部分。
32.下列叙述中正确的是________。
A、函数定义不能嵌套,但函数调用可以嵌套;
    B、函数定义可以嵌套,但函数调用不可以嵌套;
    C、函数定义和函数调用都不能嵌套;
    D、函数定义与函数调用都可以嵌套。
33.若用数组名作为函数调用时的实参,则实际传给形参的是________。
A、数组的第一个元素值                B、数组的首地址
    C、数组的全部元素                    D、数组中元素的个数
34.C语言中函数返回值的类型是由________决定。
A、return语句中表达式的类型            B、调用该函数的主调函数的类型
    C、调用函数时临时                    D、定义函数时指定的类型
35.下面不正确的描述为________。
    A、调用函数时,实参可以是表达式
    B、调用函数时,实参与形参可以共用内存单元
    C、调用函数时,将为形参分配内存单元
    D、调用函数时,实参与形参的类型必须一致
36.、在一个文件中定义的外部变量的作用域为________。
    A、本文件的全部范围                    B、本程序的全部范围
    C、本函数的全部范围                    D、从定义该变量的位置开始至本文件结束
37.C语言的编译预处理主要包括三项功能,下面不是其中之一的是________。
    A、文件包含(#include)                    B、宏定义(#define)
C、条件编译                            D、检查C程序中的语法错误
38.关于指针的叙述,错误的是________。
    A、指针变量存放变量的地址           
    B、指针和数组完全相同
    C、利用指针作为函数的参数,可以改变调用时实参的值
    D、利用指针可以实现内存的动态分配
39.若已定义:int *p,a;则语句p=&a中的运算符“&”的含义是________。
    A、位与运算            B、逻辑与运算        C、取指针内容        D、取变量地址
40.在文件使用方式中,字符串″rb″表示______。
A、打开一个已存在的二进制文件,只能读取数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。