单项选择
==================================================
题号:342
以下叙述中正确的是 ()。
A、花括号“{“和”}”只能作为函数体的定界符
B、构成C程序的基本单位是函数,所有函数名都可以由用户命名 C、分号是C语句之间的分隔符,不是语句的一部分
D、C程序中注释部分可以出现在程序中任意合适的地方
答案:D
题号:751
下列变量定义中合法的是()。
A、double b=1+5e2.5; B、unsigned u=10; C、float 2_and=1-e-3; D、long do=0xfdaL;
答案:B
题号:886
设有以下变量定义:float a; int i; 选择正确的输入语句是( );
A、scanf (\"%f%d\、scanf (\"%6.2f%d\C、scanf (\"%f%d\、scanf (\"%f%u\
答案:C
题号:1177
假定有以下变量定义:int k=7,x=12; 则能使值为3的表达式是:( )
A、(x%=k)-(k%=5) B、x%=(k-k%5) C、x%=k-k%5 D、x%=(k%=5)
答案:A
题号:1351
执行语句 for(i=1;i++<4;); 后变量 i 的值是()。
A、3 B、5 C、4 D、不定
答案:B
题号:1473
以下定义语句中,错误的是()。
A、int n=5,a[n]; B、int a[]={1,2}; C、char s[10]=\"test\"; D、char *a[3];
答案:A
题号:1667
函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ).
A、实参与形参是双向传递 B、形参可以是表达式
C、形参和实参可以同名 D、实参类型一定要在调用时指定
答案:C
题号:1847
在Turbo C 运行环境下,下列说法中正确的是( ).
A、双引号中字符串的字符,如果与宏名相同,就要替换. B、用宏定义不可以得到多个返回值.
C、双引号中字符串的字符,即使与宏名相同,也不替换. D、调用函数可以得到多个返回值.
答案: C
题号:2071
本程序的输出结果是( ). main()
{int a[ ][3]={{1,2,3},{4,5},{7}};printf(\"%d\
A、2 B、5 C、1 D、4
答案:D
题号:14
若有以下说明,则对结构体变量stud1中成员age的不正确引用是( ). struct student {int age; int num; }stud1,*p;
A、student.age B、p->age C、stud1.age D、(*p).age
答案:A
判断
==================================================
题号:432 在一个源程序中,main函数的位置可以任意 答案:正确
题号:572 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变 答案:正确
题号:922 格式字符%x用来以八进制形式输出整数. 答案:错误
题号:936 双精度数也可以用%f格式输出,它的有效位是十六位,给出小数6位. 答案:正确
题号:1139 设u=1,v=2,w=3,则逻辑表达式u||v-w&&v+w的值为0. 答案:错误
题号:1148 已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0. 答案:正确
题号:1282 无论哪种循环语句,都必须给出循环结束条件. 答案:正确
题号:1224 在do-while循环中,当while表达式为\"假\"时,循环就停止了. 答案:正确
题号:1477 C语言中数组元素的方括号不可以用花括号代替. 答案:正确
题号:1486 对于字符数为n个的字符串,其占用的内存为n个字节空间. 答案:错误
题号:1362 int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余
元素值为0。
答案:正确
题号:1609 函数调用时,要求实参与形参的个数必须一致,对应类型一致. 答案:正确
题号:1773 在C语言中,函数可以嵌套定义. 答案:错误
题号:1556 数组名和函数名均可以作为函数的实参和形参. 答案:正确
题号:18 宏名有类型,其参数也有类型. 答案:错误
填空
==================================================
题号:451 C语言源程序文件的后缀是.C,经过编译之后,生成后缀为.OBJ的_____文件,经连
接生成后缀.EXE的可执行文件。
答案:目标
题号:766 若s是int型变量,且s=6,则下面表达式的值是_____. s%2+(s+1)%2 答案:1
题号:515 C语言中的字符变量用保留字_____来说明. 答案:char
题号:749 语句:x++; ++x; x=x+1; x=l+x; 执行后都使变量x中的值增1,请写出一条同一功能
的赋值语句_____.
答案:x+=1
题号:839 执行下列语句的结果是_____,a=3;printf(\"%d,\答案:4,4
题号:968
设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为_____.
答案:1
题号:1136
设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为_____.
答案:1
题号:1144
int x=2,y=2,z=0; 则表达式x==y>z的值为_____.
答案:0
题号:1332 程序段int k=10; while(k=0) k=k-1;循环体语句执行_____次. 答案:0
题号:1397 C语言中,数组元素的下标下限为_____. 答案:0
题号:1476 C语言中,二维数组在内存中的存放方式为按_____优先存放. 答案:行
题号:1576 从函数的形式上看,函数分为无参函数和_____两种类型. 答案: 有参函数
题号:1826 预处理命令行都必须以_____号开始. 答案:#
题号:2005 执行下列语句后,*(p+1)的值是_____. char s[3]=\"ab\答案:b
题号:57 设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是 _____。 union
stud { short int num; char name[10];float score[5]; double ave; } c;
答案:20
程序设计
-------------------------------------------------- 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积。
------------------------------------------------*/ #include \"stdio.h\" main() {
int i,j,s,a[3][3]; int fun(int a[3][3]); void TestFunc(); for(i=0;i<3;i++) {
for(j=0;j<3;j++)
scanf(\"%d\ }
s=fun(a);
printf(\"Sum=%d\\n\ TestFunc(); }
int fun(int a[3][3]) {
/*********Begin**********/
/********** End **********/ }
void TestFunc() {
FILE *IN,*OUT; int m; int n;
int i[3][3]; int o;
IN=fopen(\"in.dat\ if(IN==NULL) {
printf(\"Read File Error\"); }
OUT=fopen(\"out.dat\ if(OUT==NULL) {
printf(\"Write File Error\"); }
for(m=0;m<3;m++) {
for(n=0;n<3;n++)
fscanf(IN,\"%d\ }
o=fun(i); {
fprintf(OUT,\"%d\\n\ }
fclose(IN); fclose(OUT); }
题号:1522
-------------------------------------------------- 功能:求x到y之间的奇数和(包括x和y)。
------------------------------------------------*/ #include \"stdio.h\"
int fun(int x,int y) {
/*********Begin**********/
/********** End **********/ }
void TestFunc() {
FILE *IN,*OUT; int n; int i[2]; int o;
IN=fopen(\"in.dat\ if(IN==NULL) {
printf(\"Read File Error\"); }
OUT=fopen(\"out.dat\ if(OUT==NULL) {
printf(\"Write File Error\"); }
for(n=0;n<2;n++) {
fscanf(IN,\"%d\ }
o = fun(i[0],i[1]); fprintf(OUT,\"%d\\n\ fclose(IN); fclose(OUT); }
main() {
int s;
s=fun(1,1999);
printf(\"s=%d\\n\ TestFunc(); }