文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计试题及答案(九)

C语言程序设计试题及答案(九)

C语言程序设计试题及答案(九)

一、单项选择题(20分,每题2分)

1.执行下列程序段后,正确的结果是(B)

int k,a[3][3] = {1,2,3,4,5,6,7,8,9};

for(k=0; k〈3;k++)

printf(“%2d”,a[k][k]);

A) 1 2 3 B) 1 5 9 C)1 4 7 D) 3 6 9

2.若a是int类型变量,则计算表达式a=25/3%3的值是:(B)

A)3 B)2 C)1 D)0

3.下面正确的字符常量是:(C)

A)“c” B)‘\\'' C)‘W' D)‘’

4.C语言中,运算对象必须是整型的运算符是:(B)

A)% B)/ C)* D)+

5.数字字符0的ASCII值为48,若有以下程序

main()

{

char a='1’,b=’2';

printf(”%c,”,b++);

printf(”%d\n”,b-a);

}

程序运行后的输出结果是。(B)

A)3,2 B)50,2 C)2,2 D)2,50

6.以下语句或语句组中,能正确进行字符串赋值的是。(D) A)char *sp;*sp=”right!”;B)char s[10];s=”right!";

C)char s[10];*s=”right!"; D)char *sp="right!”; 7.for(i=0;i〈10;i++)

if(i〈=5> break;

则循环结束后i的值为(B)

A)0 B)1 C)5 D)10

8.执行下列程序段后,正确的结果是(C)

char x[8]= {8,7,6,5,0,0},*s;

s = x+1;

printf(“%d\n", s[2]);

A) n B)0 C)5 D)6

9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A

A)单向值传递B)地址传递C)相互传递D)由用户指定方式

10.设有数组定义:char str[]=”China”;则下面的输出为(C)printf(“%d”,strlen(str));

A)4 B)5 C)6 D)7

二、填空题(30分,每空2分)

1.下列程序段的输出结果是 3 。

int i=19, j;

j=i%4;

printf(“%d”, j);

2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c 三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能.

void fun2(int *x,int *y)

{

int t;

t=*x; *x=*y;*y=t;

}

void fun1()

{

int a=20,b=30, c=25;

if(c>b)fun2(__&c,&b____);

if(a

if(a〈b) fun2(__&a,&b____);

}

3.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车〉,则输出结果是 1 B 。

#include

main()

char a,b;

a=getchar();

scanf(”%d",&b);

a=a-'A’+’0';

b=b*2;

printf("%c %c\n”,a,b);

4.以下程序运行后的输出结果是4 3 5 .

main()

{

int a=3,b=4,c=5,t=99;

if(b〈a &&a

if(a

printf("%d %d %d\n”,a,b,c);

5.若已知a=10,b=20,则表达式!a

6.若s是unsigned int型变量,则下面表达式的值是__1__。

s%2+(s+1)%2

7。下面程序将字符数组a复制到字符数组b中。

main()

{

char a[]="I am a boy.",b[20];

int i;

for(i=___0____;a[i]!=’\0’;i++)

__b[i]=a[i]___________;

}

__b[i]=’\0’__;

8.若有int a[3][2]= {{1},{3,2},{4,5}};,则a[1][1]的值是2 。9.有以下程序,执行后输出结果是0 。

main()

{

int t=1,i=5;

for(;i〉=0;i-—) t*=i;

printf(”%d\n”,t);

}

10.在循环语句中,break语句的作用是是用来跳出当前一层循环的,continue 语句的作用是终止本次循环.

三、写出程序的运行结果(30分,每题10分)

1.写出程序运行后的输出结果

main()

{

int a=1,b;

for(b=1;b<=10;b++)

if(a〉=8) break;

if(a%2==1)

a+=5;

continue;

a—=3;

printf(”%d\n",b);

}

输出结果:b=4

2.写出程序运行后的输出结果

#include

char *ss(char *s)

{

return s+strlen(s)/2;

}

main( )

{char *p,*str="abcdefgh";

p=ss(str);

printf("%s\n",p);

输出结果:efgh

3.写出程序运行后的输出结果

int f1(int x,int y){return x>y?x:y;}

int f2(int x,int y){return x〉y?y:x;}

main()

{

int a=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d—e-f;

printf(”%d,%d,%d\n",e,f,g);

4,3,7

四、编程(完形填空)(20分,每题10分)

1.以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。

#include 〈stdio。h〉

#include 〈string。h>

char *huiwen(char *str)

char *p1,*p2;

int i,t=0;

p1=str;

p2=_____ str+strlen(str)—1____;str+strlen(str)

for(i=0;i<=strlen(str)/2;i++)

if(*p1++!=*p2-—)

{

t=1;

break;

}

if(_t==0或!t_ )t==0

return("yes!");

else

return(”no!”);

main()

{

char str[50];

printf("Input:");

scanf(”%s”,str);

printf("%s\n”,___ huiwen(str) _____ );huiwen(srt)

}

2.下面程序完成以下功能:

(1)trans()函数将二维数组a进行转置,即行列互换,如下图所示;

1 2 3 4 1 2 5 7

2 4 6 9 2 4 8 1

5 8 9 7 3

6 9 6

7 1 6 21 4 9 7 21

转置前转置后

(2)findmin()函数求新数组中对角线(左上到右下)上的最小元素的值;请将程序填写完整。

void trans(int b[4][4]) /*转置函数*/

int i,j,temp;

for(i=0;i〈4;i++)

for(j=_0__;j〈4;j++)

temp=b[i][j];

b[i][j]=b[j][i];

b[j][i]=temp;

int findmin(int b[4][4]) /*求对角线上最小的元素*/

{

int min,i,j;

min=_______;

for(i=0;i〈4;i++)

if(__b[i][i]

min=_ b[i][i]_ ___;

return min;

}

main()

int i,j;

int a[4][4],min;

for(i=0;i〈4;i++)

for(j=0;j〈4;j++)

scanf(”%d",&a[i][j]);

trans(a);

printf(“the result is:”);

for(i=0;i〈4;i++)

for(j=0;j〈4;j++)

printf("%5d”,a[i][j]);

printf("\n”);

min=_findmin(a)__;

printf("the min is%5d\n”,min);

大学_C语言程序设计试题及参考答案

C语言程序设计试题及参考答案 C语言程序设计试题及答案(一) 1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分) A.switch(x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } B.switch((int)x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } C.switch(a+b) { case 1: printf("__ "); case 2+1: printf("____ ");

} D.switch(a+b) { case 1: printf("__ ") case c: printf("____ "); } 标准答案:C 2. 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y__X/2 则执行以下printf语句后,输出的结果是( ) int a; a=Y; printf("%d ",Z); printf("%d",--a); (2分) A.7,6 B.12,6 C.12,5 D.7,5 标准答案:D 3. 下面的.符号常量定义中,正确的是 ( ) (2分) A.#define PI 3.14; B.#include PI 3.14;

C.#define PI=3.14 D.#define PI 3.14 标准答案:D 4. 以下程序的输出结果是( ) int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d ", a,b); } (2分) A.100200 B.57 C.00 D.75 标准答案:D 5. 若有以下调用语句,则不正确的fun函数的首部是( ) main() { … int a[50],n; … fun(n, a[9]);

《C语言程序设计》试题九及答案

《C语言程序设计》试题九 (1) 一、选择题 (1) 二、填空题 (2) 三、程序填空与算法题 (3) 四、编程题 (5) 《C语言程序设计》试题九答案 (6) 《C语言程序设计》试题九 一、选择题 1.一个C语言程序是由()构成。 A.语句 B.行号 C.数据 D.函数 2.下面标识符中正确的是()。 A.d&ef B.6a C.z4x5c D.a3/b4 3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8 4.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。 A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D. 在同一行上的if 5.下列表达式的结果正确的是()。 int aa,bb,cc,dd; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1==2)?bb=aa+2:aa+3 A.2 B.3 C. 1 D.5 6.设有int x=11 ;则表达式(x+1/3)的值是()。 A.3 B. 4 C. 11 D.12 7.设有字符串A=“He has 钱!”,则该字符串的长度为()。 A. 9 B. 10 C. 11 D. 8

8.有如下程序段,则正确的执行结果是() int m=3; while(m<=5) { printf(“%d”,m-3); m++;} A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果 9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。 A.无输出 B.结果不确定 C.-1 D. 1 10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。 int x; char y; char z[20]; A. scanf("%d%c%c",&x,&y,&z); B. scanf("%d%c%s",&x,&y,&z); C. scanf("%d%c%c",&x,&y,z); D. scanf("%d%c%s",&x,&y,z); 11. struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是()。 A. struct结构体类型的关键字 B. example是结构体类型名 C. x,y,z都是结构体成员名 D. struct ex是结构体类型 12.在C语言中对于实型数组,其每个数组元素的类型是( )。 A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。 A. p+1 B. a+1 C. a++ D. ++p 14. 在TC2.0环境中,对文件进行保存使用的命令是( )。 A. OPEN B. SAVE C. LOAD D. WRITE TO 15.在C++的类中,用于表示公共类型的关键字是( )。 A. class B. private C. protect D. public 二、填空题 1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。 2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。 3. 一个变量的指针是指___________________________________________________。 4. 在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操

c语言程序设计答案(实验九 )

《实验9 指针(1)》答案 此答案为书本上《实验9 指针(1)》的答案,实验x就是对应的9-x. 实验一的足迹: #include void main() { int ia[2][3]={2,4,6,8,10,12},(*pa)[3],i,j; pa=ia; scanf("%d,%d",&i,&j); printf("ia[%d][%d]=%d\n",i,j,*(*(pa+i)+j)); } ******************************************************************************* ***************************实验9.2******************************************** 实验二的足迹: #include void main() { int ia,ib,*pa=&ia,*pb=&ib,*p; scanf("%d,%d",pa,pb); if(*pa>*pb) { p=pa;pa=pb;pb=p; } printf("%d<=%d\n",*pa,*pb); }

******************************************************************************* *****************************实验9.3***************************************** 实验三的足迹: #include fun(int *pa,int *pb) { int itemp; itemp=*pa; *pa=*pb; *pb=itemp; } void main() { int ia,ib; int *pa,*pb; scanf("%d,%d",&ia,&ib); pa=&ia; pb=&ib; if(ia

C.语言程序设计试题试题及答案

C 语言程序设计试卷,C++ 语言程序设计试题及答案 一、单项选择题( 每题 1 分,共 20 分 ) 1. C 语言规定:在一个源程序中,main 函数的位置 ( C )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 2.下面四个选项中,均是合法浮点数的选项是( B ) 。 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若 a=-14,b=3,则条件表达式a

C语言程序设计题库及答案(word文档良心出品)

第1次客观题作业 一、单选题(共30题,每题3分) 1 .下面表示正确的是__A___。 A.C语言中的逗号是一种运算符 B.在C语言中,一行只能有一个语句 C.C中的变量不区分大小写 D.c中的关键字可以做为变量名 2 .字符型常量在内存中存放的是__A____代码值。 A.ASCII B.二进制 C.十进制D.八进制 3 .以下不正确的C语言标识符是(C )。 A.AB1 B._ab3 C.4ab D.a2_b 4 .以下运算符中优先级最低的运算符是_D____。 A.&& B.& C.|| D.= 5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.! 6 . C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 9 .下列(A )不属于结构化程序设计的循环结构。 A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7 12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...} A.12 B.15 C.16 D.20 13 .下列选项中,合法的C语言关键字是_D___。 A.VAR B.Cher C.Integer D.default 14 .C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。 A.6,5 B.0,3 C.0,5 D.-4,2 •

C语言程序设计试题及答案(九)

C语言程序设计试题及答案(九) 学号:学习中心名称:专业:层次:姓名: 注意:所有答案都要写在答题卡上 一、单项选择题(20分,每题2分) 1.执行下列程序段后,正确的结果是(B) int k, a[3][3] = {1,2,3,4,5,6,7,8,9}; for(k=0; k<3; k++) printf(“%2d”, a[k][k]); A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 9 2.若a是int类型变量,则计算表达式a=25/3%3的值是:(B) A)3 B)2 C)1 D)0 3.下面正确的字符常量是:(C) A)“c” B)‘\\’’ C)‘W’ D)‘’ 4. C语言中,运算对象必须是整型的运算符是:(B) A)% B)/ C)* D)+ 5.数字字符0的ASCII值为48,若有以下程序 main() { char a='1', b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是。(B)

A) 3,2 B)50,2 C)2,2 D) 2,50 6.以下语句或语句组中,能正确进行字符串赋值的是。(D) A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 7.for(i=0;i<10;i++) if(i〈=5〉 break; 则循环结束后i的值为(B) A)0 B)1 C)5 D)10 8.执行下列程序段后,正确的结果是(C) char x[8] = {8,7,6,5,0,0}, *s; s = x+1; printf(“%d\n”, s[2]); A) n B) 0 C) 5 D) 6 9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为(C) printf(“%d”,strlen(str)); A)4 B)5 C)6 D)7 二、填空题(30分,每空2分) 1.下列程序段的输出结果是 3 。 int i=19, j; j=i%4; printf(“% d”, j); 2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能。 void fun2(int *x,int *y) { int t;

《C语言程序设计》(第3版_乌云高娃)-11章 习题解答 第9章习题参考答案

习题九参考答案 (1) C语言中在函数之间进行数据传递的方法除了通过返回值和全程变量(外部变量)外,还可以采用那一种方式,请以求两数之最大值为例,分别编程实现? #include "stdio.h" void fnMax(int a, int b, int *max); void fnMax(int a, int b, int *max) { *max = a>b?a:b; } void main() { int a,b,max; scanf("%d%d",&a,&b); fnMax(a,b,&max); printf("%d",max); getch(); } (2) 写出一通用函数,该函数从一个一维整型数组中寻找指定的一个数,若找到,返回该数在数组中的下标值,否则返回-1。 int fnOnenum(int a[], int n, int b) { int i; for(i=0;i

} (4) 利用链表,建立一个教师信息示意性检索程序。每个教师的信息包括:姓名、工作证号、所在系、性别、年龄和工龄等信息。要求: ①输入教师信息,并输出教师信息。 #include "malloc.h" #include "stdio.h" struct node { char chName[15]; char chNO[15]; char chDepart[20]; int iAge; int iWorkAge; struct node *pNext; }; struct node *pHead; void fnCreat() { struct node *pFront,*pBack; int i, iNum; scanf("please input a number:"); scanf("%d", &iNum); for(i=0;ipNext = pFront; /*非第一个结点,链接到链表的最后*/ scanf("%s%s%s%d%d",pFront->chName, pFront->chNo, pFront->chDepart,&pFront->iAge,&pFront->iWorkAge); pFront->pNext = NULL; /*指针域赋空NULL*/ pBack = pFront; /*使pBack指向最后一个结点*/ } } void fnPrint() { struct node *pFront;

南开大学2021年9月《C语言程序设计》作业考核试题及答案参考9

南开大学2021年9月《C语言程序设计》作业考核试题及答案参考 1. 构造函数是可以被派生类继承的。( ) A.错误 B.正确 参考答案:A 2. 一个完整的计算机系统的两个基本组成部分是操作系统和数据库系统。( ) A.正确 B.错误 参考答案:B 3. 如果一个类至少有一个虚函数,那么该类就被称为抽象类。( ) A.错误 B.正确 参考答案:A 4. IO流库中定义的格式操作符ws表示跳过输入流前面的空白字符。( ) A.错误 B.正确 参考答案:B 5. main( ) {int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z);} 输入数据的形式是25,13,10,则程序的输出结果是( )。 A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值 参考答案:A

6. 下列( )可以是虚函数。 A.构造函数 B.拷贝构造函数 C.静态成员函数 D.析构函数 参考答案:D 7. C++利用类来实现面向对象程序设计的继承性。( ) A.错误 B.正确 参考答案:A 8. 说明一个成员为静态成员的关键字为( )。 A.static B.extern C.inline D.friend 参考答案:A 9. 以下程序中,while循环的循环次数是( ) main( ) { int i=0; while(iA.1 B.10 C.6 D.死循环,不能确定次数 参考答案:D 10. 友元函数是独立于当前类的外部函数。( ) A.错误 B.正确 参考答案:B 11. 若有说明:char s1=&39;\067&39;, s2=&39;1&39;; 则变量s1,s2在内存中各占的字节数是( )

C语言程序设计模拟试题9(附答案)

《C语言程序设计》模拟试卷九 一、填空题。(每空2分,共10分) 1、将(75)D,转换成八进制为(),十六进制为() 2、求表达式3的值为() 3、将条件“2= 6、若a是float型变量,则表达式a=1,a+1,a+=a的值为() A、2 B、4 C、 D、 7、以下不正确的赋值语句是() A、a++; B、a= =b; C、a+=b; D、a=1,b=1; 8、若有变量已说明为整型,要给a,b,c输入数据,正确的输入语句是() A、read(a,b,c); B、scanf(“%d%d%d”,a,b,c); C、scanf(“%D%D%D”,a,b,c);

D、scanf(“%d%d%d”,&a,&b,&c); 9、为避免嵌套的条件分支语句if—else的二义性,C规定,C程序中的else总是与()组成配对关系 A、编排位置相同的if B、在其之前未配对的if C、在其之前未配对的最近的if D、同一行上的if 10、执行语句for(i=1;i++<4; ); 后变量i的值是() A、3 B、4 C、5 D、不定 三、程序阅读题给出程序的运行结果(每题5分,共20分) 1、main() { int x=2,y; switch(x) { case 1: y=x ; break; case 2: y=-x ; case 3: y=x*3 ; break; case 4: y=4*x; } printf(“%d\n”,y); } 程序运行结果: 2、main() { int n=10; while ( n>6) {n--;printf(“%d”,n);} } 程序运行结果: 3、main() { int x,y ; for(x=0,y=0; x+y<=10;x++,y++) { printf(“%3d”,x+y); if(x%10==9)

C语言程序设计试题9及答案

一、选择题 1.一个C语言程序是由()构成。 A.语句B.行号C.数据D.函数 2.下面标识符中正确的是()。 A.d&ef B.6a C.z4x5c D.a3/b4 3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8 4.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。 A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D. 在同一行上的if 5.下列表达式的结果正确的是()。 int aa,bb,cc,dd; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1==2)?bb=aa+2:aa+3 A.2 B.3 C. 1 D.5 6.设有int x=11 ;则表达式(x+1/3)的值是()。 A.3 B. 4 C. 11 D.12 7.设有字符串A=“He has 钱!”,则该字符串的长度为()。 A. 9 B. 10 C. 11 D. 8 8.有如下程序段,则正确的执行结果是() int m=3; while(m<=5) { printf(“%d ”,m-3); m++;} A.0 0 0 B.0 1 2 C.1 2 3 D.无结果 9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。 A.无输出B.结果不确定C.-1 D. 1 10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。 int x; char y; char z[20]; A. scanf("%d%c%c",&x,&y,&z); B. scanf("%d%c%s",&x,&y,&z); C. scanf("%d%c%c",&x,&y,z); D. scanf("%d%c%s",&x,&y,z); 11. struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是()。 A. struct结构体类型的关键字 B. example是结构体类型名 C. x,y,z都是结构体成员名 D. struct ex是结构体类型 12.在C语言中对于实型数组,其每个数组元素的类型是( )。 A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。 A. p+1 B. a+1 C. a++ D. ++p 14. 在TC2.0环境中,对文件进行保存使用的命令是( )。

C语言程序设计(第3版)-参考答案 (9)

参考答案 第 9 章编译预处理 一、选择题 二、编程题 略。 习题 一、选择题 (1)编译预处理的工作是在( A )完成的。 A)编译前B)编译时C)编译后D)执行时(2)以下选项汇总,( D )不属于编译预处理。 A)宏定义B)文件包含C)条件编译D)连接(3)以下选项中,( C )是C语句。 A)#include B)#define PI 3.1415926 C)j++; D)a=3 (4)以下叙述中错误的是( D )。 A)在程序中凡是以“#”开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号结束 C)“#define MAX 3 ”是合法的预处理命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的 (5)以下关于宏的叙述中正确的是( C )。 A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前C)宏展开没有数据类型限制D)宏调用比函数调用耗费时间(6)在宏定义#define PI 3.1415926中,用宏名代替一个( D )。 A)单精度数B)双精度数C)常量D)字符串(7)设有宏定义#define A B abcd,则宏展开时( A )。 A)宏名A用B abcd替换B)宏名A B用abcd替换 C)宏名A和宏名B都用abcd替换D)语法错误,无法替换 (8)若程序中有宏定义行#define N 100,则以下叙述中正确的是( B )。 A)宏定义行中定义了标识符N的值为整数100 B)对C源程序进行预处理时,用100替换标识符N C)对C源程序进行编译时,用100替换标识符N D)在运行时,用100替换标识符N (9)以下程序的运行结果是( B )。 #include #define M 5

C语言程序设计试题九

理工科非计算专业C语言试卷B卷 一、选择题:将答案写在答题纸上,方法是用铅笔将正确答案所对应的圆圈涂黑:○→●(注意:每小题只能涂一个圆圈,多涂无效)(1’ x 40,共40分) 1 若有int x=4,y=5;, 则执行完表达式x*=y-1后,x值为()。 A. 19 B. 0 C. 1 D. 16 2 在C语言中,若有定义:static int x[2][3]={2,3,4,5,6,7},则表达式*x[1]的值为() A. 2 B. 3 C. 4 D. 5 3 执行下面程序片段的输出结果是() long y= 65536; printf("%ld\n", y); A. 65536 B. 0 C. 有语法错误,无输出结果 D. -1 4 已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为( ) A. 1 B. 2 C. 3 D. 4 5 若定义int a[4][6],则数组a是()个元素。 A. 24 B. 35 C. 10 D. 30 6 若u=1,v=2,w=3,则表达式w==(v=-u)执行完后w 的值是()。 A. 2 B. 3 C. 1 D. 0 7 以下对i, j, k进行说明并赋值的方法中, 只有()是错误的。 A. int i,j,k; i=j=k=1; B. int i=j=k=1; C. int i=1,j=1,k=1; D. int i=1,j=1,k=1; 8 设有如下的变量定义: int I =8,k ,a,b ; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语 A. a+=a-=(b=4)*(a=3) B. x%(-3); C. a=a*3=2 D. y=float(i) 9 在C语言中,要求运算数必须是整型的运算符是: ( ) A. % B. / C. < D. | 10 表示关系X<=Y<=Z的c语言表达式为 A. (X<=Y)&&(Y<=Z) B. (X<=Y)AND(Y<=Z) C. (X<=Y<=Z) D. (X<=Y)&(Y<=Z) 11 下列符号中可以作为函数名的是( ) A. 5as B. $abc C. _sysf D. x-a

《C语言程序设计》李学刚数字资源9章 参考答案 2同步训练答案 同步训练4-4答案

同步训练4-4答案 一、单项选择题 1.以下关于switch语句和break语句的描述中,只有(B )是正确的。 A.在switch语句中必须使用break语句。 B.在switch语句中,可以根据需要使用或不使用break语句。 C.break语句在switch语句中没有作用。 D.break语句是switch语句的一部分。 2.下列程序段的输出结果是(C )。 int n='c'; switch(n++) { default: printf("error");break; case 'a': case 'A': case 'b': case 'B': printf("good");break; case 'c': case 'C': printf("pass"); case 'd': case 'D': printf("warn"); } A.pass B.wam C.passwarn D.error 3.有如下程序段: int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); 该程序段的输出结果是( A )。 A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 4.以下程序段的输出结果是(A )。 int a=15,b=21,m=0; switch(a%3) { case 0:m++;break;

case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d",m); A.1 B.2 C.3 D.4 5.若有定义: float w;int a,b;则合法的switch语句是(D )。 A.switch(a) B.switch(a) { { case 1.0:printf("*\n"); case 1 printf("*\n"); case 2.0:printf("**\n"); case 2 printf("**\n"); } } C.switch(w) D.switch(a+b) { { case 1:printf("*\n"); case 1:printf("*\n"); default:printf("\n"); case 2:printf("**\n"); case 1+2:printf("**\n"); default:printf("\n"); } } 二、程序填空题 1.根据以下if语句写出与其功能相同的switch语句(x的值在0~100之间,x 为整数)。 if语句: if(x<60) m=1; else if(x<70) m=2; else if(x<80) m=3; else if(x<90) m=4; else if(x<100) m=5; switch语句: switch(x/10 ) { default: m=1;break; case6: m=2;break;

《C语言程序设计》试题九及答案

《C语言程序设计》试题九 一、选择题 1.一个C语言程序是由()构成。 A.语句 B.行号 C.数据D.函数 2.下面标识符中正确的是()。 A.d&ef B.6a C.z4x5c D.a3/b4 3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8 4.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。 A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D. 在同一行上的if 5.下列表达式的结果正确的是()。 int aa,bb,cc,dd; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1==2)?bb=aa+2:aa+3 A.2 B.3 C. 1 D.5 6.设有int x=11 ;则表达式(x+1/3)的值是()。 A.3 B. 4 C. 11 D.12 7.设有字符串A=“He has 钱!”,则该字符串的长度为()。 A. 9 B. 10 C. 11 D. 8 8.有如下程序段,则正确的执行结果是() int m=3; while(m<=5)

{ printf(“%d”,m-3); m++;} A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果 9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。 A.无输出B.结果不确定C.-1 D. 1 10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。 int x; char y; char z[20]; A. scanf("%d%c%c",&x,&y,&z); B. scanf("%d%c%s",&x,&y,&z); C. scanf("%d%c%c",&x,&y,z); D. scanf("%d%c%s",&x,&y,z); 11. struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是()。 A. struct结构体类型的关键字 B. example是结构体类型名 C. x,y,z都是结构体成员名 D. struct ex是结构体类型 12.在C语言中对于实型数组,其每个数组元素的类型是( )。 A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。 A. p+1 B. a+1 C. a++ D. ++p 14. 在TC2.0环境中,对文件进行保存使用的命令是( )。 A. OPEN B. SAVE C. LOAD D. WRITE TO 15.在C++的类中,用于表示公共类型的关键字是( )。 A. class B. private C. protect D. public 二、填空题 1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。

《C语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

习题九 一、单选题 1、已知:int *p,a;则语句"p=&a;"中的运算符"&"的含义是()。 A)位与运算 B)逻辑与运算 C)取指针内容D)取变量地址 2、已知:int a,x;则正确的赋值语句是()。 A)a=(a[1]+a[2])/2 B)a*=*a+1; C)a=(x=1,x++,x+2); D)a="goog"; 3、已知:int a,*p=&a; 则下列函数调用中错误的是()。 A)scanf("%d",&a); B)scanf("%d",p); C)printf("%d",a); D)printf("%d",p); 4、main(argc,argv)中形式参数argv的正确说明形式应当为()。 A)char *argv[ ] B)char argv[ ][ ] C)char argv[ ] D)char *argv 5、说明语句"int (*p)(); "的含义是()。 A)p是一个指向一维数组的指针变量 B)p是一个指针变量,指向一个整型数据 C)p是一个指向函数的指针,该函数的返回值是一个整型 D)以上都不对 6、设有说明int(*ptr)[M];其中的标识符ptr是()。 A)M个指向整型变量的指针 B)指向M个整型变量的函数指针 C)一个指向有M个整型元素的一维数组的指针 D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量 7、已知:double *p[6]; 它的含义是()。 A)p是指向double型变量的指针 B)p是double型数组 C)p是指针数组 D)p是数组指针 8、已知函数说明语句:void *f(); 则它的含义是()。 A)函数f的返回值是一个通用型的指针 B)函数f的返回值可以是任意的数据类型 C)函数f无返回值D)指针f指向一个函数,该函数无返回值 9、已知:char s[10],*p=s,则在下列语句中,错误的语句是()。 A)p=s+5; B)s=p+s; C)s[2]=p[4]; D)*p=s[0]; 10、已知:char b[5],*p=b; 则正确的赋值语句是()。 A)b="abcd" B)*b="abcd" C)p="abcd" D)*p="abcd" 11、下列对字符串的定义中错误的是()。 A)char str[7]="FORTRAN" B)char str[ ]=" FORTRAN" C)char *str="FORTRAN" D)char str[ ]={'F','O','R','T','R','A','N','\0'} 12、已知:char s[20]="programming", *ps=s; 则不能引用字母o的表达式是()。 A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps 13、已知:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示数组a中元素的表达式是()。 A)*p B)a[10] C)*a D)a[p-a] 14、已知:char **s; 正确的语句是()。 A)s="computer"; B)*s="computer"; C)**s="computer"; D)*s='A’; 15、已知:char c[8]="beijing",*s=c; int i; 则下面的输出语句中,错误的是()。A)printf(%s\n",s); B)printf("%s\n",*s); C)for(i=0;i<7;i++) D)for(i=0;i<7;i++) printf("%c",c[i]); printf("%c",s[i]);

计算机二级考试C语言程序设计试题及答案

计算机二级考试C语言程序设计试题及答案 计算机二级考试C语言程序设计试题及答案 计算机二级考试采用全国统一命题、统一考试的形式。下面店铺整理了计算机二级考试C语言程序设计试题及答案,希望对大家有帮助! 一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。 (1) 下列述叙中正确的是 A) 显示器和打印机都是输出设备 B) 显示器只能显示字符 C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格 (2) 微型计算机中运算器的主要功能是进行 A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算 (3) COMMAND。COM是DOS系统的最外层模块,通常称之为 A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统 (4) 电子邮件是 A)网络信息检索服务 B)通过Web网页发布的公告信息 C)通过网络实时交互的信息传递方式 D)一种利用网络交换信息的非交互式服务 (5) 和十进制数225相等的二进制数是 A) 11101110 B) 11111110 C) 10000000 D) 11111111 (6) 下列叙述中正确的是 A) 指令由操作数和操作码两部分组成 B) 常用参数xxMB表示计算机的速度 C) 计算机的一个字长总是等于两个字节 D) 计算机语言是完成某一任务的指令集 (7) 计算机的内存储器比外存储器

A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢 (8) 设当前盘为C盘,执行DOS命令"COPY B:A.TXT PRN"之后,结果是 A) B盘上的A.TXT文件被复制到C盘的PRN文件 B) 屏幕上显示B盘上的A.TXT文件内容 C) B盘上的A.TXT文件内容在打印机上输出 D) B盘上的A.TXT文件被复制到B盘上的PRN文件 (9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是 A) COPY A:X1.TXT+C:B1.TXT Z.TXT B) COPY X1.TXT+C:WSB1.TXT B:.TXT C) COPY A:X1.TXT+C:WSB1.TXT D) COPY X1.TXT+B1.TXT B:Z.TXT (10) 下列四组DOS命令中,功能等价的一组是 A) COPY A:*.* B:与DISKCOPY A: B: B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXT C) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXT D) TYPE *.FOR>CON与COPY *.FOR CON (11) 设当前目录为D:BB,现要把D:AA目录下首字符是A的文本文件全部删除,应该使用命令 A) DEL A*.TXT B) DEL AAA.TXT C) DEL AAA*.TXT D) DEL AAA?.TXT (12) 在Windows中,启动应用程序的正确方法是 A) 用鼠标指向该应用程序图标 B) 将该应用程序窗口最小化成图标 B) 将该应用程序窗口还原 D) 用鼠标双击该应用程序图标 (13) 在Windows中,终止应用程序执行的正确方法是 A) 将该应用程序窗口最小化成图标

相关文档
相关文档 最新文档