全国2007年1月高等教育自学考试 一、单项选择题(本大题共20小题,每小题1分,共20分) 1.以下正确的C语言自定义标识符是( )。 2.在C语言中,错误的常数表示是( )。 3.设int a,x=2;执行语句a=x>0?3*x(x=10);后,变量x的值是( )。 4.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是( )。 5.在C语言中,字符串″\\TOP\t\65\″″的长度是( )。 6.设float x;,由键盘输入:12.45,能正确读入数据的输入语句是( )。 7.逗号表达式a=2*6,a*3,a+5的值是( )。 8.C语言表达式3.26*exp(x)+(a+b)/3所表示的数学表达式是( )。 9.在C语言中,下列运算符中结合性属于自右向左的是( )。 10.设int(*p)[4];,则p的含义是( )。 11.设char x[][10]={″Windows″,″dos″,″unix″};,执行pintf(″%c″,x[1][2]);后输出的结果是( )。 12.设int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(* ptr)[3]=a,*p=a[0];,则与数组元素a[1][2]等价的是( )。 13.设int a=11,b=2;,执行下述程序段后,变量a和b的值分别是( )。do{a/=b++; }while(a>b); 14.在C语言中,下列错误的说法是( )。 15.设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是( )。 16.若main()带参数,正确的是( )。 17.设struct student{ char name[10];int sex;int num;}s,*p=&s;以下对结构型变量s中成员num的非法引用是( )。 18.下列说法中正确的是( )。 19.设enum week {mon,tue=2,wed,thu,sat=6}day;,则枚举常量mon和thu的值分别是( )。 20.下列属于文件包含的命令是( )。 二、填空题(本大题共10小题,每小题2分,共20分) 21.一个C语言程序的执行起点是__________。 22.设int x=3,y=5;,则执行printf(″%d\n″,x^y);后输出__________。 23.设int s[3][2]={1,2,3,4,5,6},(*p)[2]=s;,则*(*(p+1)+1)的值是__________。 24.C语言中,可以处理的两类文件分别是文本文件和__________。 25.设int a=2;,则执行a+=a*=15;后,变量a的值是__________。 26.设double y[4][5];,则数组y中元素的个数是__________。 27.设int x=7,y=3,则表达式x%y+x/y的值是__________。 28.设char s[]={″apple″};,则执行printf(″%d\n″,strlen(s));后输出的值是__________。 29.设 union{int i;char j[10];float k;}u;则sizeof(u)的值是__________。 30.设 #define MOD(a,b)a%bmain(){ int x=4,y=16,z;z=MOD(y,x);printf(″%d\n″,z++);}则程序执行的结果是__________。 三、程序分析题(本大题共5小题,每小题5分,共25分) 31.main() {int x=15; while(x<20) {x++ if(x/3!=0){x++;break;} else continue; } printf(″%d\n″,x); } 32.fun(int a[],int i,int j) {int t; if(i<j) {t=a[i];a[i]=a[j];a[j]=t; i++;j--; fun(a,i,j); } } main() {int x[]={2,4,6},i; fun(x,0,2); for(i=0;i<3;i++) printf(″%2d″,x[i]); printf(″\n″); } 33./*程序运行时,输入一个整数5*/ main() {int a,b[10],c,i=0; printf(″输入一个整数\n″); scanf(″%d″,&a); while(a!=0) {c=a%2; a=a/2; b[i]=c; i++; } for(;i>0;i--)printf(″%d″,b[i-1]); } 34.# include <stdio.h> main() {int a,b,i; a=b=0; for(i=0;i<=10;i+=2) {a+=i; b+=i+1; } printf(″a=%d\n″,a); printf(″b=%d\n″,b-11); } 35.int a=100; s() {static int a=20; a++ printf(″%d\n″,a); } main() {int i; for(i=1;i<=3;i++) {a++; printf(″%d,″,a); s(); } } 四、程序填充题(本大题共3小题,每小题6分,共18分) 36.对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。 #define_______/*第一空*/ main() {int i,a[N]; for(i=N-1; _______;i--)/*第二空*/ scanf(″%d″, _______);/*第三空*/ for(i=0;i<N;i++)printf(″%d\t″,a[i]); printf(″\n″); } 37.学生成绩的字母等级和分数范围如下: 字母等级 分数范围 A 90~100 B 80~89 C 70~79 D 60~69 E 0~59 其它字母 输入错误 输入字母等级之后,输出相应的分数范围。 main() { _______;/*第一空*/ scanf(″%c″,&score); switch(score) { case′A′:printf(″A:90~100\n″);_________;/*第二空*/ case′B′:printf (″B:80~89\n″);break; case′C′:printf (″C:70~79\n″);break; case′D′:printf (″D:60~69\n″);break; case′E′:printf (″E: 0~59\n″);break; _______:printf(″输入错误\n″);/*第三空*/ } } 38.文本文件num.dat中含有若干个整数,将这些数据读出后求出它们的和,再将这些数据与它们的和分别显示到屏幕上。 #include<stdio.h> main() {int num;long int sum=0L; FILE*fp; fp=fopen(″num.dat″, ″r″); do { fscanf(________,&num);/*第一空*/ sum+=_________;/*第二空*/ printf(″%5d″,num); }while(_______);/*第三空*/ printf(″\nsum=%ld\n″,sum); fclose(fp); } 五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分) 39.输入两个实型数x和y,计算并输出它们的和、差、积和商。 40.输入自变量x的值后,计算并输出y的值。 计算公式:y= 41.用循环结构输出下列数字金字塔(共9行)。 1 121 12321 1234321 …………… 12345678987654321 |
| 热门资料下载: |
| < |
| 自考最新热贴: |
【责任编辑:育路编辑 纠错】 |
|
|
| 【育路网版权与免责声明】 | |
| ① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接、转贴或以其他方式复制发表时必须注明"稿件来源:育路网",违者本网将依法追究责任; | |
| ② 本网部分稿件来源于网络,任何单位或个人认为育路网发布的内容可能涉嫌侵犯其合法权益,应该及时向育路网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,育路网在收到上述法律文件后,将会尽快移除被控侵权内容。 | |
热点专题 |