1、(11) 以下叙述中正确的是A构成C程序的基本单位是函数B可以在一个函数中定义另一个函数Cmain()函数必须放在其它函数之前D所有被调用的函数一定要在调用之前进行定义(12) 以下选项中合法的实型常数是A5E2.0BE-3C.2E0D1.3E(13) 以下选项中合法的用户标识符是AlongB_2TestC3DmaxDA.dat(14) 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是A字符A B)字符a C)字符e D)非法的常量(15) 以下非法的赋值语句是An=(i=2,+i); B)j+;C+(i+1); D)x=j0;(16) 设
2、a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000 B)6C5.500000D6.000000(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是Ascanf(“-”,&i,&j,&k);Bscanf(“%d %d %d”,&Cscanf(“%d,%d,%d”,&Dscanf(“i=%d,j=%d,k=%d”,&(18) 与数学式子 对应的C语言表达式是A3*xn(2*x-1)B3*x*n(2*x-1)C3*pow(x,n)*(1/(2*x-1)D3*pow
3、(n,x)/(2*x-1)(19) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是A)printf(“x=%dn”,x);Bprintf(“x=n”,x);C)printf(“x=?Ln”,x); D)printf(“x=%LDn”,x);(20) 若有以下程序:main() int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);执行后的输出结果是A8,6B8,3C6,4D7,4(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是ABCD(22) 有一函数, ,以下程序段
4、中不能根据值正确计算出值的是Aif(x0) y=1;By=0;else if(x=0) y=0; if(xelse y=-1; else if(x=0)if(x=0);0) y=1 ; else y=0; else y=-1;(23) 以下选项中,与k=n+完全等价的表达式是Ak=n,n=n+1Bn=n+1,k=nCk=+nDk+=n+1 (24) 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: int n,k;float score ,sum,ave;sum=0.0;for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(
5、“%f”,&score); sum+=score;ave=sum/4.0;printf(“NO%d:%fn”,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是Asum=0.0;Bsum+=score;Cave=sun/4.0;Dprintf(“NO%d: (25) 有以下程序段int n=0,p;doscanf(“%d”,&p);n+;while(p!=12345 &3);此处dowhile循环的结束条件是AP的值不等于12345并且n的值小于3BP的值等于12345并且n的值大于等于3CP的值不等于12345或者n的值小于3DP的值等于123
6、45或者n的值大于等于3(26) 有以下程序 int a=15,b=21,m=0;switch(a%3) case 0:m+;break;case 1: switch(b%2) default:case 0:printf(“%dn”,m); 程序运行后的输出结果是(27) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是AvoidBintCfloatDdouble(28) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是Ap=q;B*p=*q;Cn=*q;Dp=n;(29) 有以下程序float fun(int x,int y) return(x+y); in
7、t a=2,b=5,c=8;printf(“%3.0fn”,fun(int)fun(a+c,B,a-C);程序运行后的输出结果是A编译出错B9C21D9.0(30) 有以下程序void fun(char *c,int *c=*c+1;d=d+1;printf(“%c,%c,”,*c,D; char a=A,b=a;fun(&b,a); printf(“%c,%cn”,a,B;A)B,a,B,aBa,B,a,BCA,b,A,bDb,B,A,b(31) 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序void sort(int a,int n) int i,j,t;for(i=
8、0;ifor(j=i+1,jif(ai int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=o;i10;i+) print(“%d,”,aai);printf(n”);A)1,2,3,4,5,6,7,8,9,10B10,9,8,7,6,5,4,3,2,1,C1,2,3,8,7.6.5.4.9,10D1,2,10,9,8,7,6,5,4,3(32) 有以下程序int f(int n) if (n=1) return 1;else return f(n-1)+1; int i,j=0;for(i=i;3;i+) j+=f(i);printf(“%d
9、n”,j);A4B3C2D1(33) 有以下程序 char a =a,b,c,d, e, f, g,h,0; int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%db”i,j);A)9,9 B)8,9 C)1,8 D)9,8(34) 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。void reverse(int a ,int n) int i,t; t=ai; ai=an-1-i;an-1-i=t; int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i+) s+
10、=bi; printf(“%dn”,s);A22B10C34D30(35) 有以下程序 int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=04;i+) s+=aai1;printf(“%dn”,s);A11B19C13D20(36) 有以下程序#include char *p=“abcdeOfghjik0”;printf(“%dn”,strlen(p);A12B15C6D5(37) 程序中头文件typel.h 的内容是:#define N 5#define M1 N*3程序如下:#define “type1.h”#define M2 N*2 i
11、nt i;i=M1+M2; printf(“%dn”,i);程序编译后运行的输出结果是:A10B20C25(38) 有以下程序 FILE *fp; int i=20,j=30,k,n;fp=fopen(“d1.dat”“w”);fprintf(fp,“%dn”,i);fprintf(fp,“%dn”j);fclose(fp);fp=fopen(“d1.dat”, “r”);fp=fscanf(fp,“%d%d”,&k,&n); printf(“%d%dn”,k,n);A20 30B20 50C30 50D30 20(39) 以下叙述中错误的是A二进制文件打开后可以先读文件的末尾,而顺序文件不可
12、以B在程序结束时,应当用fclose函数关闭已打开的文件C在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D不可以用FILE定义指向二进制文件的文件指针(40) 有以下程序main(int argc,char *argv) int i,len=0;for(i=1;iprintf(“%dn”,len);程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:ex1 abcd efg 10scorei;printf(“%6.2fn”,sum);A260.00B270.00C280.00D285.00(45) 设有如下定义:struck sk i
13、nt a;float b;data;int *p;若要使P指向data中的a域,正确的赋值语句是Ap=&a;Bp=data.a;C p=&data.a;D*p=data.a;(46) 有以下程序struct NODE int num; struct NODE *next; 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-n
14、um=20; r-num=30;next=q;q-next=r;printf(“%dn”,p-num+q-next-num);C30D40(47) 若有以下说明和定义typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是AP是int型变量Bp是基类型为int的指针变量Cq是基类型为int的指针变量D程序中可用INTEGER代替int类型名(48) 有以下程序 unsigned char a,b,c;a=0x3; b=a|0x8; c=b1;printf(“%d%dn”,b,c);A11 12B6 13C12 24D11 22(49) 有以下程序 char *p,*
15、q;p=(char*)malloc(sizeof(char)*20); q=p;scanf(“%s%s”,p,q); printf(“%s%sn”,p,q);若从键盘输入:abc def,则输出结果是:Adef defBabc defCabc dDd d(50) 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。void f(char p10,int n) char t20;for(j=i+1;jif(strcmp(pi,pj)10 & x50) x+;if(x/3)x+;else continue;printf(“%dn”,x);9、有以下程序: char c;while(c=g
16、etchar( )!=?) putchar(-c);程序运行时,如果从键盘输入:Y?N?,则输出结果为 10 。10、以下程序运行后的输出结果是 11 。void fun(int x,int y) x=x+y;y=x-y;x=x-y;printf(“%d,%d,”,x,y); int x=2,y=3;fun(x,y);printf(“%d,%dn”,x,y);11、以下函数的功能是计算s=1+ + + ,请填空。double fun(int n) double s=0.0,fac=1.0; int i;for(i=1,i=n;i+) fac=fac 12 ;s=s+fac;return s;12 fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。#define N 10
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1