专升本C语言程序设计模拟试卷
- 格式:doc
- 大小:125.50 KB
- 文档页数:17
普通专升本模拟冲刺试卷《C 语言程序设计》试卷一注意:1、本试卷共 6 页;2、考试时间:90 分钟;3、姓名、准考证号必须写在指定地方;得分评卷人一、单项选择题题 (每小题 2 分,共20分)1、以下叙述正确的是()A)在C 程序中,main 函数必须位于程序的最前面B)C 程序的每行中只能写一条语句C)C 语言本身没有输入输出语句D)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误2、C 语言中运算对象必须是整型的运算符是()A) % B) / C) = D) 〈=3、若有说明:int a[2][4]; 则对 a 数组元素的正确引用是()A) a[2][4] B) a[1,3] C) a[1][0] D) a(2)(1)4、若有以下定义,则表达式a*b+d-c 值的类型为()char a; int b;float c; double d;A) float B) int C)char D) double5、在下列选项中,不正确的赋值语句是()A)++t; B)n1=(n2=(n3=0)); C)k=i=j; D)a=b+c=1;6、假定x 和y 为double 型(x 值为2),则表达式y=x+3/2 的值是()A) 3.500000 B) 3 C) 2.000000 D) 3.0000007、x、y、z 被定义为int 型变量,若从键盘给x、y、z 输入数据,正确输入语句是()A)INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);8、有如下程序,则该程序的输出结果是()main(){ float x=5.0,y;if(x<0.0) y=0.0;else y=1.0;printf(“n”,y);}A) 0.000000 B) 0.250000 C) 0.500000 D) 1.0000009、C 语言对嵌套if 语句的规定是:else 总是与()A)其之前最近的if 配对B)第一个if 配对C)缩进位置相同的if 配对D)其之前最近的且尚未配对的if 配对10、下面程序段中描述正确的是()int k=2;while (k=0) {printf(“%d”,k);k--;}A)while 循环执行10 次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次得分评卷人二、填空题 (每小题 2 分,共10 分)1 、在while 、 do-while 和for 循环语句中,功能最强循环语句是。
专升本C语言程序设计模拟试卷(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--计算机科学与技术专业《基础知识》模拟试卷(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3daySum _days abcde student_name_of lotus_1_2_3 default 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是%2==1 B.!(A%2==0) C.!(A%2) %23. 下列程序的输出结果是【】#include <>void main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0: a++; break;case 1: b++; break;}case 2: a++;b++; break;case 3: a++;b++; break;}printf(“%d,%d\n”,a,b);},1 ,1 ,0 ,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句语句只能用于switch语句中语句是switch语句的一部分5. 下面程序的输出是【】。
main(){int x=0x23;printf(“%d\n”,- -x);}6. 下列函数的输出结果是【】#include <>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D.3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);……}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。
计算机科学与技术专业《基础知识》模拟试卷(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lowerC.day_3D.abSum _days abcde student_name_of lotus_1_2_3 default M.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0: a++; break;case 1: b++; break;}case 2: a++;b++; break;case 3: a++;b++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句D.break语句是switch语句的一部分5. 下面程序的输出是【】。
main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。
c语言程序设计专升本试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种汇编语言D. C语言是一种机器语言答案:A2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的控制语句?A. ifB. elseC. switchD. goto答案:C4. 在C语言中,用于定义一个整型数组的语句是:A. int array[10];B. int array[];C. int array[10]={0};D. int array=10;答案:A5. 下列哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A6. 在C语言中,用于声明一个函数的关键字是:A. functionB. defC. declareD. int答案:C7. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ||D. ++答案:B8. 在C语言中,用于定义一个指针变量的语句是:A. int *p;B. int p*;C. int *p=0;D. int p=*0;答案:A9. 下列哪个选项是C语言中合法的字符常量?A. 'A'B. "A"C. 65D. '65'答案:A10. 在C语言中,用于从文件中读取数据的函数是:A. scanfB. printfC. getcharD. fgets答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float3. 在C语言中,用于定义一个字符型变量的关键字是________。
江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)一、填空題(每题2分,共20分)1、一个C语言程序的开发过程包括:编辑、,连接和运行4个步骤2、设intx=9,y=8;表达式x==y+1的结果是。
3、若a=3,b=4,c=5,则表达式a||(b=c)&&b==c的值是。
4、执行下面程序段后,k值是。
k=1;n=263;do{k*=n%10;n/=10}while(n);5、以下程序输入123456<CR>后的执行结果是。
#include<stdio.h>main(){inta,b;scanf("%2d%3d",&a,&b);printf("a=%d,b=%d\n",a,b);}6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式是:7、.以下程序的运行结果是。
main(){if(2*2==5<2*2==4)printf(“T”);elseprintf(“F”);}8、设有程序片断:switch(grade){case‘A':printf(“85—100\n”);case‘B':printf(“70—84n”);case‘C':printf(“60—69\n”);case‘D':printf(“<60\n”);default:printf(“error!\n”);}若grade的值为'C',则输出结果是9、下面程序的运行结果是.#include<stdio.h>main(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;}printf("s=%d",s);}10、以下程序的输出结果是intk,n,m;n=10;m=1;k=1;while(k++<=n)m*=2;printf(“%d\n”,m);二、单项选择题(每题2分,共40分)1、能将高级语言编写的源程序转换成目标程序的是。
江苏省五年一贯制专转本《C语言程序设计》模拟试卷一(晓庄)一、填空題(每空1分,共20分)1.C程序是由构成的,一个C源程序至少且仅包含一个。
2.C语言规定标识符只能由、和下划线3种字符组成,且第一个字符必须为或下划线。
3. 设有说明语句:char a='\72';则变量a包含______个字符。
4. 条件“20<x<30”的C语言表达式是。
5. 若已知a=10,b=20,则!a<b的值为.6.表达式21 % 4 的值为。
7.C语言中没有专门的变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组。
8.已知a=79.345,则表达式(int)a 的值为。
9. .下面程序的输出结果为。
main(){ int x=023;printf(“%d\n”,--x);}10. 设int a=2;,则执行a+=a*=15;后,变量a的值是__________。
11.已知ch='B',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为。
12.C中定义符号常量PI为3.14159的宏命令是。
13.函数形参和调用的实参是普通变量时,参数按方式进行传递。
14.C中逻辑运算符的优先次序是:。
15.定义一个共用体变量,共三个成员分别是字符型、整形和单精度浮点型,则该共用体变量所占内存长度为个字节。
15. 设有变量定义:int a=10,c=9;则表达式(--a!=c++)?—a:++c的值是。
二、单项选择题(每题2分,共40分)1.下列C语言标识符中,合法的是()A. ifB. returnC. 23aD. a232.欲从键盘给整型变量a赋值3,b赋值2,则对应语句scanf("%d,%d",&a,&b);的输入格式是()A. 32B.2,3C. 23D.3,23. C语言源程序文件经过C编译程序编译连接之后生成的文件后缀名是()A. .exeB. .objC. .batD. .c4.结构化程序设计的三种基本结构是()A. 顺序结构、复杂结构、循环结构B. 顺序结构、复杂结构、分支结构C. 顺序结构、分支结构、选择结构D. 顺序结构、选择结构、循环结构5.以下表达式中,值为0的是()A. 4%5B. 4/5.0C. 4/5D. 4<56.设下列表达式中所涉及的变量均已正确定义,则不符合C语言语法的是()A. 4&&3B. a++C. a=b=5D. int(3.14159)7. 设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是()A.1 B.2 C.6 D.108. 在C 语言程序中,在函数内部定义的变量称为()A. 全局变量B. 外部变量C. 全程变量D. 内部变量9.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是()A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,110.若变量c为char类型,则能正确判断出c为小写字母的表达式是()A. (c>= 'a')||(c<= 'z')B. 'a'<=c<= 'z'C.(c>= 'a')&&(c<= 'z')D. ('a'<=c)and ('z'>=c)11.在C语言中,字符串″\\TOP\t\65\″″的长度是()A.5 B.7 C.9 D.1212.逗号表达式a=2*6,a*3,a+5的值是()A.12 B.17 C.36 D.4113.设int a=11,b=2;,执行下述程序段后,变量a和b的值分别是()do{a/=b++;}while(a>b);A.1,3 B.1,4 C.2,3 D.2,414. 下列程序的执行结果是( )。
计算机科学与技术专业《基础知识》模拟试卷二(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 请读程序:#include<stdio.h>main(){int a;float b,c;scanf("%2d%3f%4f’,&a,&b,&c);printf("\na=%d,b=%ec。
%f\n",a,b,c);}若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。
A)a=98,b=765,c=432 1 B)a=1 0,b=432,c=8765C)a=98,b=765.000000,c=432 1.000000D)a=98,b=765.0,c=432 1.0答案:C2. 一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构B)选择结构C)循环结构 D)跳转结构3. 请选出以下程序的输出结果________。
#include<stdio.h>sub(x,y,z)int x,y,*z:{*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-74. 下面程序在屏幕上的输出是________。
main(){printf("ab\b\b c");}A)ab\b\b c B)a cC)abc D)ab c5. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。
A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x6. 设整型数i=5,则printf("%d",i+++++i);的输出为________。
精品文档以下程序的输出结果是【38】。
# include<stdio.h># define FUDGE(y) 2.84+y * H& O- |+ J7 K# define PR(a) printf(%d,(int)(a)) N/ L; u- b7 ~2 e# define PRINT1(a) PR(a);putchar('\n') s G/ V; K/ b main(){int x=2; PRINT1(FUDGE(5)*x); } 5 d0 r9 i) l* o【38】A) 11 B) 12 C) 13 D) 15 以下程序的输出结果是【39】。
# include<stdio.h> ! t4 W0 n1 S' U: \/ a main(){ int i=1,j=3; . y$ d8 u2 ^$ d @( N6 D printf(%d,i + + );{ int i=0; i+=j*2; printf(%d,%d,i,j); } 0 m( c( T/ T+ ^) E4 K `) v printf(%d,%d\n,i,j); }【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3以下程序的输出结果是【40】。
5 m9 t p4 j+ n* ]- Z. s. C# include <stdio.h> ! T% B1 z! {1 k- _! S$ Y$ a3 g& w main() + D$ D* y |- e0 `- a- b{ int k=4,m=1,p; ; t5 {( ~1 G g* N3 L$ [9 w. x p=func(k,m); printf(%d,,p); p=func(k,m); printf(%d\n,p);} $ B( Z3 r5 ^* @5 C. ^) W func(a,b)int a,b; 7 J3 O, w- f' M6 |! t* N5 L0 Z9 t{ static int m=0,i=2; & {* n; N% g; Y; ]2 ^( K i+=m+1; m=i+a+b; return(m); } ) G( v+ J) z( O1 u【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8 * Q& r) D4 `1 T m8 W+ h; _设有以下语句:! F/ p% T; V9 g( H' M1 j+ J char str[4][12]={aaa,bbb,ccccc,dddddd}, # d- q# S; \2 R3 `, v, A*strp[4]; int i; ! D2 Z1 D, h+ Z0 v3 o( E+ H: @for(i=0;i<4;i + + )strp[i]=str[i];【41】不是对字符串的正确引用,其中0≤k<4。
江苏省五年一贯制专转本《C语言程序设计》模拟试卷二(晓庄)-CAL-FENGHAI.-(YICAI)-Company One1江苏省五年一贯制专转本《C语言程序设计》模拟试卷二(晓庄)一、填空題(每题2分,共16分)1.整型常量默认类型是、实型默认类型是、函数默认类型是2. 若k为 int整型变量且赋值7,请写出赋值表达式 k *= k + 3的运算结果 .3. 设x,y,z均为int型变量,请写出描述"x,y中有一个为负数"的表达式:4. 已知A=7.5,B=2,C=3.6,表达式A>B&&C>A || A<B&&!C>B的值是 .5. 以下程序的运行结果是。
main(){ printf("%s,%5.3s","computer","computer"); }6. 设y为int型变量,请写出描述"y是奇数"的表达式7. 若a是int型变量,则下面表达式的值为 ,a的值为。
(a=4*5,a+6),a++8.若有定义:int a=10 ,b=9 ,c=8;执行下列语句后,变量b中的值是。
c=(a-=(b-5)); c=(a%11)+(b=3);二、单项选择题(每题2分,共40分)1.下列四组字符串中都可以用作C语言程序标识符的一组是____。
• A) print B) i\am C) Pxq D) str_l••• _3d one_half My->book Cpp•• oodb start$it line# pow••• aBc 3pai His.age while2.下列关于C语言的叙述错误的是____。
A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义3.已知 long i=65539;执行语句printf("%d",i);屏幕显示____。
一、单项选择题(在每小题的四个备选答案中,选出一个正确的,并将正确答案的号码填在题后的括号内,每小题1分,共14分)1、程序运行时显示出错信息,可以排除下列哪一个因素(D)A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当2、语句"float pi=3.1415926535;"将(D)A、导致编译错误B、说明pi为初值3.1415926535的单精度实型常数C、导致运行时的溢出错误D、说明pi为初值3.141593的单精度实型变量3、表达式!x||a==b等效于(D)A、!((x||a)==b)B、!(x||y)=bC、!(x||(a==b)D、(!x)||(a==b)4、字符变量ch="A",int类型变量K=25,printf("%d%d%d\n".ch,k,ch>k);输出(B)A、65,25,1B、65251C、65,25,fD、65 25 f5、下列语句应将小写字母转换为大写字母,其中正确的是(A)A、if(ch>="a"&ch<="z")ch=ch-32;B、if(ch>"a"&&ch<="z")ch=ch-32;C、ch=(ch>"a"&&ch<="z")?ch-32:"";D、ch=(ch>"a"&&ch<"z")?ch-32:ch;6、下列语句中与语句while(i>=0&&i<=10){if(i==5)continue;printf("%f\n",1.0//(i-5));i++;}功能相同的是(A)A、for(;i>=0&&i<=10;i++)if(i!=5)printf("%f\n",1.0/(i-5));B for(;i>=0&&i<=10;i++)if(i==5)printf("%f\n",1.0/(i-5));C、for(;i>=0&&i<=10;i++)if(i!=5)printf("%f\n",1.0/(i-5));else break;D、for(;i<=0&&i>=10;i++)if(i!=5)printf("%f\n",1.0/(i-5));7、下列各语句定义了数组,其中哪一个是正确的(C)A、int s1[5],s2[4,3];B、int n,a[n];C、char st [5]="A";D、int x(10),y(10);8、定义带参数的宏"#define jh(a,b,t) t=a;a=b;b=t",使两个参数a、b的值交换,下列表述中哪个是正确的(D)A、不定义参数a和b将导致编译错误B、不定义参数a、b、t将导致编译错误C、不定义参数t将导致运行错误D、参数a、b、t不是变量,不必定义类型9、假如指针p已经指向某个整型变量x,则*p相当于(D)A、&xB、&pC、*xD、x&x10、数组定义为"int a[4][5];",下列哪一个引用错误的(D)A、*aB、*(*(a+2)+3)C、&a[2][3]D、++a11、共同体定义为"union data {char ch;int x;} a;",下列哪一个是不正确的()A、a.ch="x";B、a.x=10;a.x--;C、a={"x",1}D、a.ch="x";a.ch--12、按位与运算:int a=7,b=12,c=a&b;变量c的值是(B)A、19B、4C、5D、913、右移运算:int a=7,c=a>>1;变量c的值是(B)A、6B、3C、15D、2214、为读写打开一个文本文件a:\aa.dat,下列语句中哪一个是正确的(C)A、fp=fopen("a:\aa.dat",k"io");B、fp=fopen("a:\aa.dat","w");C、fp=fopen("a:\aa.dat","a+");D、fp=fopen("a:\aa.dat","r");二、填空题(每小题1分,共14分)1、设int x=17,y=5;执行语句x%=x++/--y后x的值为 2 。
计算机科学与技术专业《基础知识》模拟试卷(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lowerC.day_3D.abSum _days abcde student_name_of lotus_1_2_3 default M.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0: a++; break;case 1: b++; break;}case 2: a++;b++; break;case 3: a++;b++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分5. 下面程序的输出是【】。
main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);……}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。
int x=3;do{printf(“%2d\n”,x-=2);}while (!(――x))A. 1B. 1 -2C. 3 0D. 是死循环10. 若有语句:int a=4, *p=&a;下面均代表地址的一组选项是【】。
A. a,p,&*aB. *&a,&a,*pC. &a,p,&*pD. *&p,*p,&a11. 下面程序输出的结果是main(){ int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d ",a[2-i][i]);}A)1 5 9B)7 5 3C)3 5 7D)5 9 112. 下面函数的功能是char *fun(char *str1,char*str2){while((*str1)&&(*str2++=*str1++));return str2;}A)求字符串的长度B)比较两个字符串的大小C)将字符串str1复制到字符串str2中D)将字符串str1接续到字符串str2中13. 下面函数调用语句含有实参的个数为func((exp1,exp2),(exp3,exp4,exp5));A)1 B)2 C)4 D)513. 下面程序段的运行结果是char *s="abcde";s+=2;printf("%d",s);A)cdeB)字符′c′C)字符′c′的地址D)无确定的输出结果14. 已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是void print_value(int *x){printf("%d\n",++*x);}A)23B)24C)25D)2615. 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)116. 设有如下定义char *s[2]={ "abcd","ABCD"};则下列说法错误的是A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址B)s是指针数组名,它含有两个元素分别指向字符型一维数组C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素D)s数组的两个元素中分别存放了字符′a′和′A′的地址17. 以下不能对二维数组a进行正确初始化的语句是A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6};18. 有以下程序struct STU{ char num[10]; float score[3]; };main(){struct STU s[3]={{"20021",90,95,85},{"20022",95,80,75},{ "20023",100,95,90},},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序运行后的输出结果是A)260.00B)270.00C)280.00D)285.0019. 若有说明:int a[10];则对a数组元素的正确引用是A)a[10]B)a[3,5]C)a(5)D)a[10-10]20. 下面程序段中,输出*的个数是char *s="\ta\018bc";for(;*s!=′\0′;s++)printf("*");A)9B)5C)6D)721.设有如下函数fun (float x){printf("\n%d",x*x);}则函数的类型是A)与参数x的类型相同B)是voidC)是int型D)无法确定22. 有如下定义#define D 2int x=5;float y=3.83;char c=′D′;则下面选项中错误的是A)x++;B)y++;C)c++;D)D++;23. 以下程序段的执行结果为#define PLUS(X,Y)X+Ymain(){ int x=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}A)SUM=9B)SUM=12C)SUM=18D)SUM=2824. C语言规定,函数返回值的类型是由A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定25. 下列程序的运行结果是void fun(int *a,int *b){ int *k;k=a;a=b;b=k;}main(){ int a=2004, b=9,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A)2004 9B)9 2004C)0 0D)编译时出错26. 下列程序是用来判断数组中特定元素的位置所在。
如果输入如下整数:876 675 896 101 301 401 980 431 451 777#include#includeint fun(int *s, int t, int *k){ int i;*k=0;for(i=0;i if(s[*k]return s[*k];}main(){int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;clrscr();fun(a, 10, &k);printf("%d, %d\n ", k, a[k]);}则输出结果为A)7,431B)6C)980D)6,98027.下面程序应能对两个整型变量的值进行交换。
以下正确的说法是main(){int a=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&b);printf("(2)a=%d,b=%d\n",a,b);}swap(int p,int q){int t;t=p;p=q;q=t;}A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可D)以上说法都不对28. 有以下程序#includemain(){ char *p,*q;p=(char *)malloc(sizeof(char)*20); q=p;scanf("%s %s",p,q); printf("%s %s\n",p,q);}若从键盘输入:abc def<回车>,则输出结果是A)def defB)abc defC)abc dD)d d29.以下程序的输出结果是int f(){ static int i=0;int s=1;s+=i; i++;return s;}main(){ int i,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}A)20B)24C)25D)1530.有以下程序#includestruct NODE{ int num; struct NODE *next; };main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf("%d\n ",p->num+q->next->num);}程序运行后的输出结果是A)10B)20C)30D)40二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,将输出结果写到答题纸的相应位置。