闽高校计算机二级C语言模拟题.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
20
积分
还剩页未读,继续阅读
关 键 词:高校
计算机
二级
语言
模拟
资源描述:
一、 选择题
(一)概述
1.( A )为正确变量名
A)pro_5 B)case C)5_pro D)else
2.( C )为正确的用户标识符。
A)min-5 B)3_row C)max_at D)union
3.下面叙述正确的是(C )
A)程序中必需包含自定义函数
B)main( )函数必须位于源程序文件的开头
C)所有语句都必须以分号“;”结束
D)每行最多只能写两个语句
4.下面叙述错误的是(A )
A)注释说明部分只能位于C源程序的最前面
B)C源程序必须包含一个main()函数
C)C源程序可由一个或多个函数组成
D)一个C源程序的执行是从main( )函数开始,直到main( )函数结束
(二)语法基础
5.下面叙述错误的是(C )
A)算术运算符中不包含“=”运算符
B)模运算符“%”是C语言基本的算术运算符
C)算术运算符只有“*”,“/”优先级高于关系运算符
D)自增和自减运算符只能用于变量,而不能用于常量或表达式
6.下面叙述中正确的是(B )
A)(3+9)++是正确的表达式
B)C语言中的整型与字符型变量混合运算的结果是整型
C)模运算符“%”两边运算数的数据类型是任意的
D)“abc”+“xxx”是正确的表达式
7.若有定义:int i=3, j=6; 则表达式(- -i)*(j++)的值为(A)。
A)12 B)10 C)18 D)15
8.若有定义:float x=3.5, y=5.5; 则表达式(B )的值为2.
A)(x+y)%7 B)(int)(x+y)%7
C)(int)x+y%7 D)int(x+y)%7
9 若有定义 int x=1, y=2, n=3; 则(B )为正确表达式
A)x=ny B)x=y*3, y=(x+n)/y
C)(x+y)(y+n) D)float(y/n)
10若有定义: int a, 且表达式!a的值为0,则表达式( BD )的值为1
A)!(a<0||a>0) B)a!=0 C)a=0 D)a= =0
11若有定义:int a=3, b=5, c=8; 则表达式!(a-b)||(c-b)的值为( )。
A)0 B)2 C)3 D)1
12.若有定义: int x, char c=’A’;则正确的赋值表达式是(D )。(说明:’A’的ASCII码的十进制值为65,’a’的ASCII码的十进制值为97)
A) x=c+’ABC’ B)x=c+’CBA’
C)x=’ABC ’ D)X=c+32
13.( A )为非法的字符串常量
A)’123’ B)”056” C)” ” D)”case”
14.( C )为正确的字符常量
A)’165 ’ B)’\084’ C)[email protected] D)’bcd’
15.(B)为合法的常量
A)’b_k’ B)1.23E+8 C)3.21E-6.5 D)5,326
16.若有定义:int b= -15,则( )为正确的赋值表达式
A)b=*5 B)b+=b*3
C) *b=6 D)b+10= -5
17.若有定义: int x=1, y=2,z=3,则表达式( )的值为0.
A)x27. 若有定义:int a=3; 语句a+=a-=a*a; 运行后, a的值为( )
A)-12 B)-3 C)0 D)-6
28. x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( )
A)-20-20)&&!(x-20&&x代表换行,_代表空格)
A)1356B) 1356C)135_6_
D)135_632.若有定义:char c1=’A’, c2=’B’; 语句printf(“%d+%d=%d”, c1, c2, c1+c2); 运行的结果为( )。(说明’A’的ASCII码的十进制值为65)
A)A+B=131 B)65+66=131
C)65+66=AB D)A+B=AB
33. 若有定义: int a=8, b=5; 要实现输出形式为:8*5=40,正确的printf( )函数调用语句是( )。
A)printf(“%d*%d=a*b\n”, a, b);
B)printf(“%d*%d=%d\n”, a, b, a*b);
C)printf(“a*b=%d\n”, a*b);
D)printf(“a*b=a*b\n”);
(三)控制结构
34.以下程序段运行的结果是( )
int s=15;
switch(s/4)
{ case 1: printf(“One”);
case 2: printf(“Two”);
case 3: printf(“Three”);
default : printf(“Over”);
}
A) Two Over
B) One Over
C) Three Over
D) Three
35.以下程序段运行结果是( )。
int s=15;
switch(s/4)
{ default :
printf(“Over”);
case 1:
printf(“One”);
break;
case 2:
printf(“Two”);
}
A)Over One
B)Two
C)One
D)Over two
36.以下程序段运行后,若从键盘输入5,则运行结果是( )
int a, y=10;
scanf(“%d”, &a);
if(a>10) y=a+6;
printf(“%d\n”, y+a);
}
A) 15 B)16 C)10 D)11
37.以下程序运行结果是( )
void main( )
{ int a, b=2, c=6;
a=3;
if(a>6) a=a+6;
else if(a==6) b=a+c;
else a=b+c;
printf(“%d\n”, a); }
A)6 B)9 C)5 D)8
38. 以下程序段运行后,x的值为( )
int i, j, x=0;
for(i=3; i>=1; i- -)
for(j=1; j<=i; j++) x=x+2;
A)10 B)14 C)8 D)12
39.若有定义int i, x; ( )不是死循环
A)for(x=5; x>0; x--) ;
B)while(x=1) ;
C) for( ; ; i+=2);
D)for(i=10; ; i--);
40.以下程序段运行后, x的值为( )
int i=0, x=0;
for( ; i<=5; i++,i++)
{ x+=3;}
A)9 B)6 C)12 D)15
41.以下程序段运行后x的值为( )。
int i=0, x=2;
while (i++<=5)
{x+=2;
}
A)14 B)8 C)12 D)10
42.下面叙述正确的是( )
A)for循环的循环体可包含多条语句,但必须用花括号{}括起来
B)在for循环中,不能用break语句跳出循环体
C)for循环是先执行循环体语句,后判断表达式
D)for循环只能用于循环次数已经确定的循环
43. 若有定义:int i, x=0; 语句for(i=1; i<=3; i++) x+=2; 与下列( )程序段不等价。
A) i=1;
for( ; i<=3; ) {x+=2; i++; }
B)for(i=1; i<=3; ) {x+=2; i++; }
C)i=1;
for( ; ; i++) x+=2;
D)i=1;
for( ; i<=3; i++) x+=2;
(四)数组
44.下面叙述错误的是(C )
A)数组中每一个元素都属于同一个数据类型
B)C语言规定可逐个引用数组元素,但不能一次引用整个数组
C)C语言数组长度在定义数组时可不确定
D)C语言数组名称是数组的首地址
45.若有定义: int a[10], i=2; 则能正确引用数组元素的是( )
A)a[10] B)a(7) C) a[9+i] D)a[10-i]
46.若有定义:int arr[15], n=5; 无法正确引用arr数组元素的是( D )。
A)arr[0]
B)arr[n]
C)arr[15-n]
D)arr[10+n]
47.以下程序段运行后,x的值为( )
int a[8]={1,2,3,4,5,6,7,8}, i, x=0;
for(i=0; i<8; i++, i++)
x=x+a[i];
A)18 B)16 C)20 D)36
48.C语言中,二维数组元素在内存中的存放顺序是( )
A)按列存放 B)随机存放
C)由用户自己定义 D)按行存放
49.. 以下( )对二维数组arr的初始化是错误的。
A)int arr[2][3]={{1,2},{3,4}};
B)int arr[2][3]={{1,2},{3,4},{5,6}};
C)int arr[ ][3]={1,2,3,4,5};
D)int arr[2][3]={{1},{3,4,5}};
50.以下程序段的运行结果是( )
int t[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};
printf(“%d\n”, t[1][1])}
A)3 B)1 C)5 D)4
51.以下程序段运行后,x的值为( )
int i=0, x=0;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for( ; i<3; i++)
x+=a[i][i];
A)12 B)18 C)0 D)15
52.以下程序运行的结果是( )
int fun(int array[3][3])
{ int j;
for(j=0; j<3; j++) array[1][j]++;
printf(“\n”);
}
main( )
{ int j, a[3][3]={0,1,2,1,0,4,2,4,5};
fun(a);
for(j=0; j<3; j++) printf(“%2d”,a[1][j]);
printf(“\n”);
}
A)2 1 5 B)1 0 4 C)0 1 2 D)1 2 3
53.以下程序段的运行结果是( )。
char str[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};
printf(“%s”, str[0]);
A)abc\0ef B)a C)abc D)abcef
(五)函数
54.只能向终端输出一个字符的是( )
A)putchar( )函数 B)printf( ) 函数
C)scanf( ) 函数 D)getchar( ) 函数
55.getchar( )函数的功能是获取终端输入的( )。
A)多个字符 B)一个整形变量表达式
C)一个字符 D)一个实型变量值
56.下面叙述正确的是( )
A)预处理命令也是C语句,必须以分号结束
B)宏展开不占用运行时间,只占用编译时间
C)一个源程序只能有一个预处理命令行
D)宏名必须用大写字母表示
57.下面叙述错误的是( )。
A)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
B)“#define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICE
C)预处理命令行都必须以“#”开头
D)预处理命令行必须以分号结束
58.下面叙述错误的是( )
A)”#include ”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令
B) 预处理命令行必须以分号结束
C) C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
D)宏定义也是C语句,必须在行末加分号
59.以下程序运行结果是( )
#define X a+b
main( )
{ int a=3, b=4, s1;
s1=2*X;
printf(“%d\n”, s1);
}
A)10 B)8 C)6 D)14
60.若有定义:#define PI 3,则表达式PI*2*2的值为( )
A)4 B)12 C)不确定 D)322
61.若有定义: #define F 2+3 ,则表达式F*F的值为( )
A)17 B)13 C)25 D)11
62..以下程序段运行结果是( )
char str[ ]={“Fujian”};
printf(“%d”, strlen(str));
A)6 B)8 C)9 D)7
63.以下程序段运行后,a的值为( )
int a=2;
a=strcmp(“miss”, “miss”);
A)true B)-1 C)0 D)1
64. 以下程序段的运行结果是( )
char a[ ]=”abcdef”;
char b[ ]=”xyz”
strcpy(a,b);
printf(“%c”, a[2]);
A) b B)z C)y D)c
65.若有定义:char str1[10],str2[10]=”Fujian”; 能将字符串“Fujian”赋给数组str1的正确语句是()
A)strcpy(str1, str2); B)str1=”Fujian”;
C)strcpy(str2, str1); D)strcopy(str1, str2);
66.以下程序段的运行结果是( )
char a[ ]=”abc ”;
char b[ ]=”xyz”;
char c[10];
strcpy(c,a);
strcat(c,b);
printf(“%s”,c);
A)xyzabc B)abc xyz C)abc D)xyz
67.以下程序的运行结果是( )
int f(int c)
{ c+=2; return c; }
main( )
{ int a=2, c=5;
a=f(a);
printf(“%d %d\n”, a, c);
}
A)4 4 B)2 5 C)4 5 D)2 4
68.以下程序段运行结果是( )
fun( )
{static int a=0;
a++;
printf(“%d “, a);
}
main( )
{int i;
for(i=1; i<=2; i++)
fun( );
}
A)1 2 B)1 1 C)0 0 D)0 1
69.以下程序段的运行结果是( )。
int a=2, b=3;
int min(int a, int b)
{ int c;
c=aname[0]
C) t1.name D)t1->name
88下列程序段运行后,表达式( )的值为3。
struct point
{int x;
int y;
}*p;
struct point a[3]={1,2,3,4,5,6};
p=a;
A)*(p+2) B)p[3].x C)p[1].x D)p[2].x
(八)枚举、自定义类型和位运算
89有定义:enum num{a1,a2=3, a3, a4=10}; 则枚举常量a2, a3的值分别为( )
A)1 2 B)3 3 C)2 3 D)3 4
90若有定义:enum day{sun, mon, tue, wed, thu, fri,sat}; 则枚举常量sun、mon的值分别为( )
A)7 0 B)0 1 C)7 1 D)1 2
91若有定义:
typedef int *INTEGER;
INTEGER p;
则下面叙述正确的是()
A)p是一个整型变量
B)程序中可用INTEGER定义int类型指针变量
C)程序中可用INTEGER定义int类型变量
D)p是与INTEGER相同的类型
(九)文件
92下面程序运行后,文件d_f.dat的内容是( )。
main( )
{ FILE *fp; int i=10, j=20;
fp=fopen(“d_f.dat”,”w”);
fprintf(fp, “%d ”,i);
fclose(fp);
fp=fopen(“d_f.dat”,”a”);
fprintf(“%d “,j);
fclose(fp);
}
A)20 10 B)10 C)10 20 D)20
93 若当前工作目录下有一文本文件test.txt,其内容为“cprogram”(不包含引号),则以下程序段的运行结果是( )
FILE *fp;
char *str;
if((fp=fopen(“test.dat”,”r”)!=NULL)
str=fgets(str, 5, fp);
printf(“%s”, str);
fcolse(fp);
A)cpro B)cprog C)gram D)ogram
94()不是文件读库函数
A)fputs( ) B)fgetc( )
C)fread( ) D)fscanf( )
95下面程序运行后,屏幕显示write ok!, 则下面叙述正确的是( )。
main( )
{ FILE *fp;
fp=fopen(“data.txt”,”w+”);
if(fp!=NULL)
{ fprintf(fp, “%s\n”, “File write successed!\n”);
fclose(fp);
printf(“write ok!\n”);
}
}
A)当前工作目录下存在tata.txt文件,其中的内容是”write ok!”
B) 当前工作目录下的tata.txt文件已经打开
C) 当前工作目录下的tata.txt文件已经关闭
D) 当前工作目录下找不到tata.txt文件
96下面程序运行后,屏幕显示File open error!则可能的原因是( )
#include main( )
{ FILE *fp;
char str[256];
fp=fopen{“test.txt”,”r+”};
if(fp= =NULL)
{ printf(“File open error!”);
return ;
}
fscanf(fp, “%s”, str);
fcolse(fp);
}
A)当前工作目录下的test.txt文件是空文件
B)fopen( )的参数是错误的
C)test.txt文件已经打开
D)当前工作目录下没有test.txt文件
补充
97.以下程序段运行后, x的值为( )。
int a[ ]={1, 2, 3}, b[ ]={4, 3, 3};
int *p, *q;
int i, x;
p=a; q=b;
for(i=0; i<3; i++)
if(*(p+i)==*(q+i))
x=*(p+i)*2;
A)6 B)不确定 C)2 D)4
98.若有定义
typedef int NUM[100];
NUM n;
则( )语句是正确的
A)NUM=2 B)n=2 C)n[0]=2 D)NUM=n
99.若有定义:int a[3][4]={{1,2}{3,4}{5, 6,7}; 则a[1][1]的值为( )。
A)3 B)1 C)4 D)2
100.以下程序段运行后,s的值为( )。
int a[3][3]={1,2,3,1,2,3,1,2,3};
int i, j, s=0;
for(i=0; i<3; i++)
for(j=i; j<3; j++)
s+=a[i][j];
A)13 B)12 C)15 D)14
101.( )是正确的数组定义
A)int n; n=5; int arr[n];
B)int N=5, arr[N];
C)int n=5; int arr[n];
D)int arr[10];
二、改错题
Cmody131.c
程序cmody131.c的功能是:输入两个整数,输出它们的商和商的第一位小数。例如:
输入: 19 7
输出:2.714286 7
#includevoid main()
{
int a,b,c;
/**/ int f; /**/
clrscr();
printf("Please input a b :");
scanf("%d%d",/**/a,b/**/);
f=/**/ a/b; /**/
c=(int)((f-(int)f)*10);
printf("\n%f %d\n",f,c);
getch();
}
Cmody132.c
程序cmody132.c,实现打印10到99数中能被3整除且至少有1位是4的数
#include
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:闽高校计算机二级C语言模拟题.doc
链接地址:https://www.renrendoc.com/p-71404106.html