收藏 分销(赏)

C语言期末考试题.pdf

上传人:二*** 文档编号:4468116 上传时间:2024-09-23 格式:PDF 页数:39 大小:133.94KB
下载 相关 举报
C语言期末考试题.pdf_第1页
第1页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1.static struct int a1;float a2;char a3;a10=1,3.5,A;说明数组 a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。A、a10 B、a0 C、a1 D、a-1 B 2.对以下说明语句 int a10=6,7,8,9,10;的正确理解是()。A、将 5个初值依次赋给a1 至 a5 B、将 5个初值依次赋给a6 至 a10 C、因为数组长度与初值的个数不相同,所以此语句不正确D、将 5 个初值依次赋给a0 至 a4 D 3.在C语言中,能代表逻辑值“真”的是()。A、大于 0的数 B、True C、非 0的数

2、 D、非 0整数C 4.以下 read 函数的调用形式中,参数类型正确的是()。A、read(int fd,int count,char*buf)B、read(int count,char*buf,int fd)C、read(int*buf,int fd,int count)D、read(int fd,char*buf,int count)D 6.以下不符合 C语言语法的赋值语句是()。A、a=b=5;B、a=1,b=2 C、+j;D、y=(a=3,6*5);B 7.C 语言程序的三种基本结构是顺序结构、选择结构和_结构.A、递归 B、转移 C、嵌套 D、循环D 8.选择结构中的条件与循环结构

3、中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。A、-1 B、非零的数 C、1 D、0 D 9.以下叙述中不正确的是()。A、在 C程序中,赋值运算符的优先级最低B、在 C程序中,j+;是一条赋值语句C、C程序中的#include和#define 均不是 C语句D、一个好的程序应该有详尽的注释A 10.若有下列定义,则对a数组元素地址的正确引用是()。int a5,*p=a;A、&a B、p+2 C、a+D、&a5 B 11.static char str10=China;数组元素个数为()。A、5 B、10 C、6 D、9 B 12.

4、以下程序中,c的二进制值是char a=3,b=6,c;c=a b 2;A、00011100 B、00010100 C、00011000 D、00011011 D 13.以下程序的输出结果是func(int a,int b)int c;c=a+b;return c;main()int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(“%dn”,r);A、21 B、11 C、31 D、20 A 14.以下程序的输出结果是_.void fun(int a,int b,int c)a=456;b=567;c=678;main()int x=10,y=20,z=3

5、0;fun(x,y,z);printf(%d,%d,%dn,z,y,x);A、30,20,10 B、10,20,30 C、678567456 D、456567678 A 15.执行下列程序后,其输出结果是()。main()int a=9;a+=a-=a+a;printf(%dn,a);A、18 B、-18 C、-9 D、9 B 16.若从终端输入以下数据,要给变量c赋以 283.19,则正确的输入语句是A、scanf(%8.4f”,&c);B、scanf(%6.2f”,&c);C、scanf(%f”,c)D、scanf(%8f”,&c);D 17.下列变量定义中合法的是()。A、short _

6、a=1-.1e-1;B、long do=0 xfdaL;C、double b=1+5e2.5;D、float 2_and=1-e-3;A 18.以下程序的输出结果是#define FMT“%d,”main()int b4=1,3,5,7,9,11,13,15,17,19,21,23;printf(FMT,*(*(b+1)+1);printfFMT,b22);A、1,11,B、1,11 C、11,21 D、11,21,D 19.若int a=3,则执行完表达式 a-=a+=a*a 后,a 的值是A、-15 B、0 C、-9 D、-3 B 20.以下 read 函数的调用形式中,参数类型正确的是(

7、)。A、read(int fd,int count,char*buf)B、read(int count,char*buf,int fd)C、read(int*buf,int fd,int count)D、read(int fd,char*buf,int count)D 21.已知大写字母 A的ASCII 码值是 65,小写字母 a的ASCII码是 97,则用八进制表示的字符常量101是()。A、字符 e B、字符 a C、非法的常量 D、字符 A D 22.C语言规定,函数返回值的类型是由()。A、调用该函数时的主调函数类型所决定B、return语句中的表达式类型所决定C、调用该函数时系统临时

8、决定D、在定义该函数时所指定的函数类型所决定D 23.结构化程序设计所规定的三种基本控制结构是()。A、树形、网形、环形 B、输入、处理、输出C、主程序、子程序、函数 D、顺序、选择、循环D 24.与实际参数为实型数组名相对应的形式参数不可以定义为()。A、float a;B、float a;C、float(*a)3;D、float*a;A 25.若有定义和语句:int a43=1,2,3,4,5,6,7,8,9,10,11,12,(*prt)3=a,*p4,i;for(i=0;i 4;i+)pi=ai;则不能够正确表示a数组元素的表达式是A、(*(p+1)1 B、a43 C、p00 D、pr

9、t22 B 26.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else 总与()配对A、同一行上的 if B、其之后最近的 if C、其之前最近的未配对的if D、缩排位置相同的if C 27.以下程序的输出结果是。typedef union long i;int k5;char c;DATE;struct date int cat;DATE cow;double dog;too;DATE max;main()printf(“%dn”,sizeof(struct date)+sizeof(max);A、30 B、25 C、18 D、8 A 28.下列程序的输出结果为()。m

10、ain()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);A、28.000000 B、27.500000 C、28.500000 D、27.000000 D 29.有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节)#include main()FILE*fp;int i,a4=1,2,3,4,b;fp=fopen(“data.dat”,“wb”);for(i=0;i 4;i+)fwrite(&ai,siz

11、eof(int),1,fp);fclose(fp);fp=fopen(“data.dat”,“rb”);fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);/*从文件中读取 sizeof(int)字节的数据到变量b中*/fclose(fp);执行后输出结果是A、3 B、4 C、1 D、2 A 30.printf函数中用到格式符%5s,其中数字 5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。A、右对齐输出该字串,左补空格 B、从左起输出该字符串,右补空格C、按原字符长从左向右全部输出 D、输出错误信息C

12、 1.语句 int max(int x,int max(int y,int z);是正确的函数声明语句.错2.若有 int=10,j=0;则执行完语句if(j=0)+;else-;的值为11。错误3.char*p=girl;的含义是定义字符型指针变量p,p 的值是字符串 girl。错4.如果想使一个数组中全部元素的值为0,可以写成int a10=0*10;错误5.如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9 个。错误6.共同体变量所占的内存长度等于最长的成员的长度正确7.函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);中,含有的实参个数是5.错误

13、8.#define 和 printf 都不是 C 语句。正确9.C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。正确10.若有宏定义:#define S(a,b)t=a;a=b;b=t由于变量 t 没定义,所以此宏定义是错误的。正确/*-【程序设计】-功能:编写函数 fun 计算下列分段函数的值:x2+x+6 x0且x-3 f(x)=x2-5x+6 0 x10且x2及x3 x2-x-1 其它-*/#include void bky();float fun(float x)/*Begin*/*End */main()float x,f;printf(input x=);scanf

14、(%f,&x);f=fun(x);printf(x=%f,f(x)=%fn,x,f);bky();void bky()FILE*IN,*OUT;int n;float i;float o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write FILE Error);for(n=0;n10;n+)fscanf(IN,%f,&i);o=fun(i);fprintf(OUT,%fn,o);fclose(IN);fclose(OUT);【参考代码】float

15、 y;if(x=0&x10.0&x!=2.0&x!=3.0)y=x*x-5*x+6;else y=x*x-x-1;return y;=/*-【程序设计】-功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。-*/#include#include#include int fun(char*s,int num)/*Begin*/*End */main()char s10;printf(输入 7个字符的字符串:);gets(s);fun(s,7);printf(n%s,s);NONO();NONO()int i;c

16、har a100;FILE*rf,*wf;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i3;i+)fscanf(rf,%s,&a);fun(a,7);fprintf(wf,%s,a);fprintf(wf,n);fclose(rf);fclose(wf);【参考代码】int i,j;char t;for(i=1;inum-1;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;=/*-【程序设计】/*-【程序改错】-功能:根据整型形参 m,计算某一数据项的值。y=1/(100*100)+1/(200*2

17、00)+1/(300*300)+1/(m*m)例如:若 m=2000,则应输出:0.000160。-*/#include#include /*ERROR*/fun(int m)double y=0,d;int i;/*ERROR*/for(i=100,i=m,i+=100)d=(double)i*(double)i;/*ERROR*/y+=1.0 d;return(y);main()int n=2000;clrscr();printf(nThe result is%lfn,fun(n);【改错 1】【学生答案】fun(int m)【参考答案】double fun(int m)=【改错 2】【学

18、生答案】for(i=100,i=m,i+=100)【参考答案】for(i=100;i=m;i+=100)=【改错 3】【学生答案】y+=1.0 d;【参考答案】y+=1.0/d;=/*-【程序改错】-功能:移动一维数组中的内容;若数组中有 n个整数,要求把下标从 0到p(含p,p 小于等于 n-1)的数组元素平移到数组的最后。例如:一维数组中的原始内容为:“1,2,3,4,5,6,7,8,9,10”p 的值为 3。移动后,一维数组中的内容应为“5,6,7,8,9,10,1,2,3,4”-*/#include#define N 80 void fun(int*w,int p,int n)/*ER

19、ROR*/int i,k=0;bN;/*ERROR*/for(i=1;i n;i+)bk+=wi;/*ERROR*/for(i=0;i=p;i+)bk=wi;for(i=0;i n;i+)wi=bi;main()int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int i,p,n=15;printf(The original data:n);printf(nnEnter p:);scanf(%d,&p);fun(a,p,n);printf(nThe data after moving:n);for(i=0;i n;i+)printf(%d,ai);print

20、f(nn);【改错 1】【学生答案】int i,k=0;bN;【参考答案】int i,k=0,bN;=【改错 2】【学生答案】for(i=1;i n;i+)bk+=wi;【参考答案】for(i=p+1;i n;i+)bk+=wi;=【改错 3】【学生答案】for(i=0;i=p;i+)bk=wi;【参考答案】for(i=0;i=p;i+)bk+=wi;/*-【程序填空】-功能:打印以下图形。*-*/main()char a59=;int i,j;for(i=0;i5;i+)/*FILL*/for(j=i;_;j+)aij=*;/*FILL*/for(_;i5;i+)for(j=0;j9;j+)

21、/*FILL*/printf(%c,_);/*FILL*/_;【空 1】【学生答案】for(j=i;_;j+)【参考答案】jj jj=【空 2】【学生答案】for(_;i5;i+)【参考答案】i=0=【空 3】【学生答案】printf(%c,_);【参考答案】aij=【空 4】【学生答案】_;【参考答案】printf(n)=/*-【程序填空-功能:以每行 5个数来输出 300以内能被 7或17整除的偶数,并求出其和。-*/#include#include main()int i,n,sum;sum=0;/*FILL*/_ /*FILL*/for(i=1;_;i+)/*FILL*/if(_)if

22、(i%2=0)sum=sum+i;n+;printf(%6d,i);/*FILL*/if(_)printf(n);printf(ntotal=%d,sum);【空 1】【学生答案】_【参考答案】n=0=【空 2】【学生答案】for(i=1;_;i+)【参考答案】i=300 i=I 300i=【空 3】【学生答案】if(_)【参考答案】i%7=0|i%17=0 !(i%7)|!(i%17)!(i%17)|!(i%7)!(i%7&i%17)i%17=0|i%7=0=【空 4】【学生答案】if(_)【参考答案】n%5=0 !(n%5)n/5*5=n =、第二套1.设有如下定义:struct sk i

23、nt a;float b;data,*p;若要使 p指向 data 中的 a域,正确的赋值语句是()。A、p=&data.a;B、p=(struct sk*)data.a;C、p=(struct sk*)&data.a;D、*p=data.a;C 2.对于建立函数的目的,正确的说法是A、提高程序的执行效率 B、减少程序的篇幅C、减少程序文件所占的内存 D、提高程序的可读性D 3.若有定义:int*p3;,则以下叙述中正确的是()。A、定义了一个名为*p 的整型数组,该数组含有三个int类型元素B、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素C、定义了一个指针数组p

24、,该数组含有三个元素,每个元素都是基类型为int 的指针D、定义了一个基类型为int 的指针变量 p,该变量具有三个指针C 4.下面说法中错误的是A、函数可以返回一个共用体变量B、在任一时刻,共用体变量的各成员只有一个有效C、共用体内的成员可以是结构变量,反之亦然D、共用体变量的地址和它各成员的地址都是同一地址A 5.若要用 fopen 函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()。A、ab B、wb+C、ab+D、rb+B 6.表达式 18/4*sqrt(4.0)/8值的数据类型为()。A、float B、double C、不确定 D、int B 7.先用语句定

25、义字符型变量c,然后要将字符 a赋给 c,则下列语句中正确的是()。A、c=a;B、C=97 C、c=a;D、c=97;C 8.设以下变量均为int 类型,则值不等于7的表达式是()。A、(y=6,y+1,x=y,x+1)B、(x=6,x+1,y=6,x+y)C、(x=y=6,x+y,y+1)D、(x=y=6,x+y,x+1)B 9.下列程序的输出为()。main()int y=10;while(y-);printf(y=%dn,y);A、while 构成无限循环 B、y=0 C、y=-1 D、y=1 C 10.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。A、stati

26、c B、auto C、extern D、register D 11.若已建立下面的链表结构,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾的语句组是。A、s-next=NULL;p=p-next;p-next=s;B、p=p-next;s-next=p;p-next=s;C、p=(*p).next;(*s).next=(*p).next;(*p).next=s;D、p=p-next;s-next=p-next;p-next=s;B 12.具有相同类型的指针变量p与数组 a,不能进行的操作是()。A、p=&a0;B、p=a;C、p=&a;D、*p=a0;C 13.C语言程序中

27、必须有的函数是()。A、#include stdio.h B、main C、printf D、scanf B 14.若输入 ab,程序运行结果为()。main()static char a3;scanf(%s,a);printf(%c,%c,a1,a2);A、b,B、a,b C、程序出错 D、a,A 15.下面叙述中错误的是A、在其它函数中定义的变量在主函数中也不能使用B、主函数中定义的变量在整个程序中都是有效的C、形式参数也是局部变量D、复合语句中定义的函数只在该复合语句中有效B 16.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。A、fwrite B、close()C、fre

28、ad()D、fclose()D 17.下列正确的标识符是A、%y B、a+b C、6a D、_do D 17.若变量已正确说明为int类型,要给 a、b、c输入数据,以下正确的输入语句是A、scanf(“%d%d%d”,&a,&b,&c);B、scanf(“%d%d%d”,a,b,c);C、read(a,b,c)D、scnaf(“%D%D%D”,&a,&b,&C);A 18.若有定义语句:char c5=,a?,?b?,?0?,?c?,?0?;,则执行语句 pritnf(“%s”,c);的结果是A、ab c B、ab0c C、,a?b?D、ab D 19.int a=1,b=2,c=3;if(

29、ac)b=a;a=c;c=b;则c的值为()。A、3 B、2 C、不一定 D、1 B 20.在位运算中,操作数每右移一位,其结果相当于()。A、操作数除以 2 B、操作数除以 16 C、操作数乘以 16 D、操作数乘以 2 A 21.设有数组定义:char array =China;则数组 array所占的空间为()。A、5个字节 B、7个字节 C、4个字节 D、6个字节D 22.以下能对二维数组a进行正确初始化的语句是()。A、int a3=1,2,3,4,5,6;B、int a24=1,2,3,4,5,6;C、int a3=1,0,1,1,1;D、int a2=1,0,1,5,2,3;A

30、23.已知字符 0的ASCII 码值的十进制数是48,且数组的第 0个元素在低位,以下程序的输出结果是。main()union int i2;long k;char c4;r,*s=&r;s-i0=0 x39;s-i1=0 x38;printf(“%xn”,s-c0);A、38 B、9 C、39 D、8 C 24.执行下面程序后,输出结果是()。main()a=45,b=27,c=0;c=max(a,b);printf(%dn,c);int max(x,y)int x,y;int z;if(xy)z=x;else z=y;return(z);A、18 B、27 C、72 D、45 D 25.c

31、har*s1=hello,*s2;s2=s1;则()。A、s2指向不确定的内存单元 B、s1不能再指向其它单元C、不能访问 hello D、puts(s1);与puts(s2);结果相同D 26.用户定义的函数不可以调用的函数是()。A、本文件外的 B、main 函数C、本函数下面定义的 D、非整型返回值的B 27.以下叙述中正确的是()。A、C语言可以不用编译就能被计算机识别执行B、C语言出现的最晚,具有其他语言的一切优点C、C语言比其他语言高级D、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D 28.已知 x=43,ch=A,y=0;则表达式(x=y&chB&!y)的值是()

32、。A、语法错 B、0 C、1 D、假 C 29.以下选项中正确的整型常量是A、4/5 B、5 C、-10 D、1.000 C 在Turbo C 中,下面的定义和语句是合法的:file*fp;fp=fopen(a.txt,r);错误函数 strlen(ASDFGn)的值是 7。错误若有定义 int c;则 while(c=getchar();是正确的 C语句。正确变量根据其作用域的范围可以分作局部变量和全局变量。正确一个 include 命令可以指定多个被包含的文件。错误字符串常量是用一对双引号括起来的字符序列,所以 a 不是字符串.错误若i=3,则 printf(%d,-i+);输出的值为 -

33、4。错误C语言的 switch 语句中 case后可为常量或表达式或有确定值的变量及表达式.错误char c=Very Good;是一个合法的为字符串数组赋值的语句。错误若有如下定义和语句 int k=10;while(k=0)k=k-1;则循环体一次也不执行。正确/*-【程序设计】-功能:求一批数中小于平均值的数的个数。-*/#include void bky();int average_num(int a,int n)/*Begin*/*End */main()int n,a100,i,num;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);num=ave

34、rage_num(a,n);printf(the num is:%dn,num);bky();void bky()FILE*IN,*OUT;int n;int i10;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write FILE Error);for(n=0;n5;n+)fscanf(IN,%d,&in);o=average_num(i,5);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);【参考代码

35、】int i,sum=0,k=0;double average;for(i=0;in;i+)sum=sum+ai;average=sum*1.0/n;for(i=0;iai)k+;return(k);=/*-【程序设计】-功能:判断一个整数w的各位数字平方之和能否被5整除,可以被 5整除则返回 1,否则返回 0。-*/#include#includeconio.h void bky();int fun(int w)/*Begin*/*End */main()int m;printf(Enter m:);scanf(%d,&m);printf(nThe result is%dn,fun(m);b

36、ky();void bky()FILE*IN,*OUT;int c;int t;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write FILE Error);for(c=1;c=5;c+)fscanf(IN,%d,&t);o=fun(t);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);【参考代码】int k,s=0;do s=s+(w%10)*(w%10);w=w/10;while(w!=0);if(

37、s%5=0)k=1;else k=0;return(k);=/*-【程序改错】-功能:用起泡法对10个整数从小到大排序。-*/#include /*ERROR*/void sort(int x,int n)int i,j,t;for(i=0;in-1;i+)/*ERROR*/for(j=0;jxi+1)t=xj;xj=xj+1;xj+1=t;main()int i,n,a100;printf(please input the length of the array:n);scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);/*ERROR*/sort(n,a);pr

38、intf(output the sorted array:n);for(i=0;i=n-1;i+)printf(%5d,ai);printf(n);改错 1】【学生答案】void sort(int x,int n【参考答案】void sort(int*x,int n)void sort(int x,int n)=【改错 2】【学生答案】for(j=0;jn-i;j+)【参考答案】for(j=0;jn-1-i;j+)for(j=0;jj;j+)for(j=0;n-i-1j;j+)for(j=0;jn-(1+i);j+)for(j=0;jj;j+)for(j=0;n-(i+1)j;j+)=【改错

39、3】【学生答案】if(xixi+1)【参考答案】if(xjxj+1)if(xjx1+j)if(xj+1xj)if(x1+jxj)=【改错 4】【学生答案】sort(n,a);【参考答案】sort(a,n);=/*-【程序改错】-功能:有 5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第 4个人岁数,他说比第3个人大 2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?-*/#includestdio.h age(n)int n;int c;/*ERROR*/if(n=1)c=10;else /*FOUND*/c=ag

40、e(n)+2;return(c);main()/*ERROR*/printf(%d,age5);【改错 1】【学生答案】if(n=1)【参考答案】if(n=1)=【改错 2】【学生答案】printf(%d,age5);【参考答案】c=age(n-1)+2;/*-【程序填空】-功能:产生并输出杨辉三角的前七行。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1-*/main()int a77;int i,j,k;for(i=0;i7;i+)ai0=1;/*FILL*/_;for(i=2;i7;i+)/*FILL*/for(j=

41、1;j_;j+)/*FILL*/aij=_;for(i=0;i7;i+)/*FILL*/for(j=0;_;j+)printf(%6d,aij);printf(n);【空 1】【学生答案】_;【参考答案】aii=1=【空 2】【学生答案】for(j=1;j_;j+)【参考答案】i=【空 3】【学生答案】aij=_;【参考答案】ai-1j+ai-1j-1 ai-1j-1+ai-1j=【空 4】【学生答案】for(j=0;_;j+)【参考答案】j=j jj j-1j-1=/*-【程序填空】-功能:现有两组有序数组(增序),xi、yj代表数组 x、y的任一元素,问满足 xiyi的元素对有多少个?-*

42、/int dominance_count(int f,int g,int m,int n)int index_f,index_g;int count;count=index_f=index_g=0;while(index_f m&index_g n)if(findex_f=gindex_g)index_f+;else index_g+;/*FILL*/count+=_;/*FILL*/_;#include void main(void)int x=1,6,8 ;int nx =sizeof(x)/sizeof(int);int y=4,5,7 ;int ny =sizeof(y)/sizeof

43、(int);int dominance_count(int,int,int,int),i;printf(nDominance Count of two Increasing Arraysn);printf(n#Array 1 Array 2);printf(n-);for(i=0;i bc)printf(%dn,d);else if(c-1=d)=1)printf(%dn,d+1);else printf(%dn,d+2);执行后输出结果是A、2 B、4 C、编译时出错D、3 D 4.以下不正确的叙述是()。A、若 a和b类型相同,在执行了赋值语句a=b;后 b中的值将放入a中,b中的值不变B

44、、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值C、程序中,APH 和aph是两个不同的变量D、在 C程序中所用的变量必须先定义后使用B 5.以下程序的输出结果是main()int a=1,2,3,4,i,x=0;for(i=0;i 4;i+)sub(a,&x);printf(“%d”,x);pritnf(“n”);sub(int*s,int*y)static int t=3;*y=st;t-;A、4 4 4 4 B、0 0 0 0 C、1 2 3 4 D、4 3 2 1 D 6.以下叙述中正确的是()。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是 C

45、语句之间的分隔符,不是语句的一部分C、花括号“和”只能作为函数体的定界符D、构成 C程序的基本单位是函数,所有函数名都可以由用户命名A 6.若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是()。A、4 B、2 C、3 D、无确定值C 7.以下运算符中,优先级最高的运算符是()。A、+B、,C、?:D、&A 7.定义共用体的关键字是A、union B、typedef C、enum D、structA 8.a,b 为整型变量,二者均不为0,以下关系表达式中恒成立的是()。A、a*b/a*b=1 B、a/b*b+a%b=a C、a/b*b=a D、a/b*b/a=1B 9.

46、执行下列语句后的输出为()。int j=-1;if(j=1)printf(*n);else printf(%n);A、%c B、有错,执行不正确C、*D、%C 10.有以下程序main()int i=1,j=1,k=2;if(j+|k+)&i+)printf(%d,%d,%d n,i,j,k);执行后输出结果是A、2,2,2 B、2,2,3 C、1,1,2 D、2,2,1 A 11.对两个数组 a和 b进行如下初始化:char a=“ABCDEF”;char b=,A?,B?,C?,D?,E?,F?;则以下叙述正确的是A、a与b中都存放字符串B、a数组比 b数组长度长C、a与b长度相同D、a

47、与 b 完全相同B 12.下面叙述中错误的是A、若函数的定义出现在主调函数之前,则可以不必再加说明B、一般来说,函数的形参和实参的类型要一致C、若一个函数没有return语句,则什么值也不会返回D、函数的形式参数,在函数未被调用时就不被分配存储空间C 13.C语言的注释定界符是()。A、*B、C、D、/*/D 14.若x=2,y=3 则x&y的结果是()。A、3 B、0 C、5 D、2D 14.与十进制数 97不等值的字符常量是A、?101?B、?x61 C、?141?D、?a?A 15.以下选项中正确的实型常量是A、0.03x102 B、32 C、3.1415 D、0C 16.以下可作为函数

48、fopen中第一个参数的正确格式是()。A、c:usertext.txt B、c:usertext.txt C、c:usertext.txt D、c:usertext.txt C 17.以下选项中不合法的用户标识符是A、Dim B、printf C、_123 D、A$D 18.若有定义 int a10,*p=a;,则p+5表示A、元素 a5 的地址 B、元素 a6 的地址 C、元素 a6 的值 D、元素 a5 的值A 19.Turbo C 中int类型变量所占字节数是A、4 B、3 C、2 D、1 C 20.以下程序运行后的输出结果是。struct STU char name10;int nu

49、m;int score;main()struct STU s5=“YangSan”,20041,703,“LiSiGuo”,20042,580,“WangYin”,20043,680,“SunDan”,20044,550,“Penghua”,20045,537,*p5,*t;int i,j;for(i=0;i 5;i+)pi=&si;for(i=0;i 4;i+)for(j=i+1;i score pj-score)t=pi;pi=pj;pj=t;printf(“%d%dn”,s1.score,p1-score);A、580 680 B、680 680 C、580 550 D、550 580

50、C 21.以下四个程序中,不能对两个整型值进行交换的是A、B、C、D、D 22.以下合法的 C语言赋值语句是A、a=b=58 B、a=58,b=58 C、-I D、k=int(a+b)C 23.以下不正确的定义语句是()。A、double x5=2.0,4.0,6.0,8.0,10.0;B、char c1=1,2,3,4,5;C、char c2=x10,xa,x8;D、int y5=0,1,3,5,7,9;D 24.以下运算符中,优先级最高的运算符是()。A、(类型)B、+C、*=D、=A 25.下列选项中,合法的C 语言关键字是()。A、cher B、integer C、VAR D、defa

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服