一、单选题(每题1分,共30分)
1.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是:( B )。 A. FILE *fp; ^fp=fopen(\"file1\B. FILE *fp; ^fp=fopen(\"file1\
C. FILE *fp; ^fp=fopen(\"file1\D. FILE *fp; ^fp=fopen(\"file1\
2.计算机在实现工业自动化中的应用主要是进行( A )。 A. 实时控制 B. 数据处理 C. 数值计算 D. 人工智能
3. 在计算机应用中,“计算机辅助设计”的英文缩写为 ( D )。 A. CAT B. CAE C. CAM D. CAD
4.微型计算机中使用的鼠标器是连接在 ( B )。 A. 并行接口上 B. 串行接口上 C. 显示器接口上 D. 打印机接口上
5.若有说明:char c='9',*sp1,*sp2; 以下均正确的一组赋值语句是( D A. sp1=&c;sp2=*sp1; B. sp1=&c;sp2=&sp1 C. sp1=&c;*sp2=*sp1; D. sp1=&c;sp2=sp1
6.微型计算机硬件系统中最核心的部件是 ( B )。 A. 主板 B. CPU C. 输入输出设 D. RAM和ROM
7.Windows 2000中将文件“发送到”软盘其实就是( B )。 A. 将文件压缩处理后保存到软盘 B. 将文件复制到软盘 C. 在软盘中建立文件的快捷方式 D. 移动文件到软盘
8.Windows 中“复制”命令的快捷键是( D )。 A.【Ait+C】 B.【Tab+C】 C.【Shift+C】
)。
D.【Ctrl+C】
9.复制活动窗口的信息到剪贴板,只须按下( A )键即可. A.【Alt+Print Screen】 B.【Ctrl+Shift】 C.【Print Screen】 D.【Alt+Esc】
10.与十六进制数(BC)等值的二进制数是( B )。 A. 10111001 B. 10111100 C. 10101100 D. 11011010
11.在Windows中,复制整个屏幕的信息到剪贴板,只须按下(A) A.【Print Screen】 B.【Alt+Print Screen】 C.【Ctrl+Shift】 D.【Alt+Esc】
12.下面关于Windows 操作系统中删除文件的说法,不正确的是( C )。 A. 在MS-DOS方式中被删除的文件不能被恢复 B. 网络上的文件被删除后不能被恢复 C. 直接用鼠标拖到\"回收站\"的文件不能被恢复
D. 可移动磁盘(如软盘)上的文件被删除后不能被恢复 13.在Windows资源管理器中,选定文件后,( B )直接删除文件而不把被删除文件送入回收站。
A. 按【Esc】键,再按【Del】键 B. 按【Shift+Del】键 C. 按【Alt+Del】键 D. 按【Ctrl+Del】键
14.如果在一个函数中的复合语句中定义了一个变量,则该变量( C )
A. 在该函数中有效 B. 在本程序范围内均有效 C. 只在该复合语句中有效 D. 为非法变量
15.下面四个选项中,均是不合法的整型数量的选项是( D )。 A.-0Xcdf 017 12,456 B.-018 999 5e2 C.-0f1 -0xffff 0011 D.-0x48eg -068 03f
16.若有代数式∶|3x+lgx|, 则正确的C语言表达式是( D ) A. fabs(x*3)+fabs(log(x)) B. fabs((x*3+log(x)) C. fabs(x*3)+fabs(log10(x)) D. fabs(x*3+log10(x))
17.若有变量说明: int a=0,b=0,c=0; ,以下符合C语言语法的赋值表达式是( C )。 A.a=9+b++=a+7;
B.a=9+b,b++; C.a=9+b; c=a+9; D.a=9+b+c=a+9;
18.以下选项中属于C语言数据类型的是( B ) A. 集合型 B. 双精度型 C. 逻辑型 D. 复数型 19.若以下变量均是整型,且num=Sum=7;则计算表达式Sum=num++,Sum++,++num后Sum的值为( C ) A. 10 B. 9 C. 8 D. 7
20.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始
输入数据时,
正确的数据输入方式是( A ),(注: _ 表示空格) int al,a2,char c1,c2;
scanf(\"%d%c%d%c\
x+=k;
( ① ); z+=y; }
printf(\"偶数之和=%d\\n\ printf(\"奇数之和=%d\\n\A. 10A20B B. 10A20_B C. 10_A_20_B D. 10A_20_B
21.设x、y均为float型变量,则以下不合法的赋值语句是( B )。 A. x*=y+8 B. y=(x%2)/10; C. x=y=0 D. ++x;
22.逻辑运算符两侧运算对象的数据类型( A )。 A.可以是任何类型的数据 B.只能是整型或字符型数据 C.只能是0或非0正数 D.只能是0或1
23.1) 以下程序的运行结果是( C )。 void main(void) {
int k=4,a=3,b=2,c=1;
printf(\"\\n%d\\n\;
}
A. 2 B. 3 C. 1 D. 4
24.判断char型变量c1是否为大写字母的正确表达式是( C )。 A.'A'<=c1<='Z'
B.(c1>='A')&(c1<='Z') C.(c1>='A')&&(c1<='Z') D.('A'<=c1)AND('Z'>=c1)
25. 若x、i、j、和k都是int型变量,则计算下面表达式后,x的值为( B )。 x=(i=4,j=16,k=32) A. 52 B. 32 C. 16 D. 4
26.下面程序的运行结果是( B )。 #include int num=0; while(num<=2) { num++; printf(\"%d \ } } A.1 2 3 4 B.1 2 3 C.1 2 D.1 27.若运行以下程序时, 从键盘输入ADescriptor3, 则下面程序的运行结果是( D ) #include int v0=0, v1=0,v2=0; do { switch( c=getchar() ) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': 。 case 'o': case 'O': case 'u': case 'U':v1+=1; default:v0+=1;v2+=1; } } while( c!='\\n' ); printf(\"v0=%d,v1=%d,v2=%d\\n\ } A. v0=8,v1=4,v2=8 B. v0=11,v1=4,v2=11 C. v0=7,v1=4,v2=7 D. v0=12,v1=4,v2=12 28.在C语言中, 引用数组元素时, 其下标的数据类型允许是( B )。 A. 整型表达式 B. 整型常量或整型表达式 C. 整型常量 D. 任何类型的表达式 29.下面程序段的运行结果是( B )。 char c[]=\"\\\v\\\\\\Owill\\n\"; printf(\"%d\A. 14 B. 3 C. 9 D. 字符串中有非法字符, 输出值不确定 30.判断字符串a和b是否相等, 应当使用( D )。 A. if (a=b) B. if (strcpy(a,b)) C. if (a==b) D. if (strcmp(a,b)) 二、填空题(共30分) 31.下面程序的功能是从键盘输入的最多10个整数中, 找出第一个能被7整除的数。若找到, 打印此数后退出循环, 否则打印\"not exist\"。(4分) #include int i,a; for(i=1;i<=10; i++) { scanf(\"%d\ if (a%7==0) { printf(\"%d\ ① ; } } if ( ② ) printf(\"not exist\\n\"); } ① break ② i%7!=0 32.下面程序的功能是检查一个矩阵是否对称, (对所有i,j都有a[i][j]=a[j][i])。(4分) void main(void) { int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4}; int i,j,found=0; for(j=0;j<4;j++) for(i=0;i if (found==1) printf(\"不对称\"); else printf(\"对称\"); } ① a[i][j]!=a[j][i] ② found=1 33.下面程序的功能是输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个数。(8分) void main(void) { int a[5],max,min,i,j,k; for(i=0;i<5;i++) scanf(\"%d\ min=a[0]; for(i=1;i<5;i++) /* 寻找最小数及其位置 */ if (a[i] ① ; /* 记住其最小数所在位置k */ } max=a[0]; for(i=1;i<5;i++) /* 寻找最大数及其位置 */ if (a[i]>max) { max=a[i]; ② ; } ③ = max; ④ ; printf(\"\\n The position of min is:%3d\\n\ printf(\"The position of max is:%3d\\n\ for(i=0;i<5;i++) printf(\"%5d\ } ① k=i ② j=i ③ a[k] ④ a[j]=min 34.下面程序的功能是输出两个字符串中较短串的长度值。(4分) #include\"stdio.h\" #include\"string.h\" void main(void) { char strl[20],str2[20]; int i,k,num; gets(str1); gets(str2); i=strlen(str1); k=strlen(str2); num= ① ? i : ② ; printf(\"%d\\n\ } ① i int x[6],a=0,b,c=14; do { x[a]=c%2; a++; c=c/2; } while(c>=1); for(b=a-1;b>=0;b--) printf(\"%d\数据之间不空格 */ printf(\"\\n\"); } ① 1110 36.以下程序的运行结果是:( ① )。(5分) void main(void) { char ch[]=\"600erw87\"; int a,s=0; for(a=0; ch[a]>= '0' && ch[a]<='9'; a++) s=10*s+ch[a]- '0'; printf(\"%d\ } ① 600 37.以下程序的运行结果是:( ① )。(5分) pp(int a, int *p) { int c=4; *p=a+c; a=*p-c; } main() { int a=1,b=2,c=3,*p; p=&b; pp(a+c, p); printf(\"%d,%d\\n\ } ① 1,8 38.在C语言中,一个函数通常由两部分组成,它们分别是函数头和( ① )。说明:请填写三个汉字。(1分) ① 函数体 39.若有定义: int a[]={2,4,6,8,10,12};,则*(a+3)的值是( ① )。说明:填写阿拉伯数字。(1分) ① 8 40.若a是int型变量,且a的初值为6,则计算下面的表达式后a的值为( ① )。说明:填写阿拉伯数字。(1分) a*=a-=a ① 0 41.17^3的运算结果是( ① )。说明:填写阿拉伯数字。(1分) ① 18 42.在C语言中,格式化输入函数名是( ① )。说明:填写小写英文字母。(1分) ① scanf 43.若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[1]; 则++(*p)的值是( ① )。说明:填写阿拉伯数字。(1分) ① 2 44.若有说明语句: int x=1,y=0;则表达式x++>(y+x) ? x : 25>y++ ? x : y的值是( ① )。说明:填写阿拉伯数字。(1分) ① 2 45.若有宏定义:#define f(x) x*x 则f(3+2)的运算结果是( ① )。说明:填写阿拉伯数字。(1分) ① 11 46.在switch语句中,对各种开关值的枚举应当使用的语句关键字是( ① )。说明:填写小写英文字母。(1分) ① case 47.用while循环语句写的循环控制程序( ① )转化为用for循环语句来控制其循环。说明:填写“可以”或者“不能”两个汉字,不要输入双引号哦!(1分) ① 可以 三、判断题(每题1分,共10分) 48.字符型数据在内存中以其相应的ASCII码存储。 正确 49.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。 正确 50.关系表达式的值不可以作为整数参与算术运算。 错误 51.break语句也可以用于由if...goto构成的循环结构中以便退出循环。 正确 52.当关系表达式不成立时,其值为1。 错误 53.break语句不能用于循环语句和switch语句之外的任何其它语句中。 正确 54.数组的长度是固定的。 正确 55.若用数组名作为函数调用时的实参,则传递给形参的是数组的第一个元素值。 错误 56.宏的展开是在编译程序时进行的。 正确 57.存放变量地址的变量称为指针变量 正确 四、编程题 58.从键盘中输入一个正整数n,打印出小于它本身且大于它的3/7的所有约数p,即(3/7)n void main() { int n,p; scanf(“%d”,&n); for(p=1;p 59.设计一个函数double add(double a[],int n, int m),求数组a中从下标n开始的连续m个元素的和。(5分) #include double add(double a[],int n,int m) { int i; double sum=0; for(i=n;i int a[N],m,n,i; for(i=0;i printf(\"%lf\} 说明:编程的时候只需要填写红色部分 因篇幅问题不能全部显示,请点此查看更多更全内容