c语言上机试题参考答案

计算机水平考试试卷
(二级 计算机基础和C语言)
一、 单项选择题(每题1分,共40分)
1.计算机系统中存储信息的基本单位 。
A)位 B)字节 C)字 D)字符
2.超市使用的POS机收费系统,属于计算机在 在什么方面的应用。
A)数据处理 B)科学计算 C)实时控制 D)计算机辅助
3.下面是PC机常用的4种外设接口,其中U盘、移动硬盘、MP3、MP4等均能连接的接口是 。
A)RS—232 B)IEEE—1394 C)USB D)IDE
4.下面各种进制的数据中,最大的数是 。
A)(1000010)2 B) (67)10 C) (77)8 D) (3A)16
5.下列关于Windows操作系统通配符的说法中,正确的是 。
A)?代表多个字母 B) *代表多个字母
C)?代表任意多个字母 D)*代表任意多个字符
6.某电子邮件的地址为:wyg@https://www.360docs.net/doc/271318839.html,,其中wyg是 。
A)域名 B)地区名 C)用户名 D)国家名
7.多媒体计算机指 。
A)安装了光驱并具有较高运算能力的计算机
B)安装了多种媒体播放器软件的计算机
C)能够处理音频、视频等多媒体信息的计算机
D)能够访问Internet的计算机
8.下列选项中 不是有效的信息安全控制方法。
A)用户口令设置 B)用户权限设置
C)数据加密 D)增加网络带宽
9.下列选项中,防止U盘感染病毒的有效方法是 。
A)对U盘进行写保护 B)对U盘进行分区
C)保持U盘的清洁 D)不要与有毒的U盘放一起
10.编程属于软件开发过程中的 阶段。
A)实现 B)定义 C)分析 D)维护
11.C语言程序总是从 开始执行。
A)第一条语句 B)第一个函数 C)main函数 D)#include
12.下列 是正确的赋值语句。
A)10=K; B)K=K*15; C)K+47=K D)K=7=6+1
13.下列程序段输出的结果是 。
int m=7,n;
n=m++;
printf(“%d,%d\n”,n,m);
A)7,8 B)7,7 C)8,7 D)8,8
14.下列不能作为变量名的是 。
A)abc B)x39 C)NBA D)for
15.设有int a=2,b=6; ,则表达式a*b/5的值是 。
A)2 B)3 C)2.4 D)3.6
16.设有int y=0; ,执行语句y=5,y*2;后变量y的值是 。
A)0 B)5 C)10 D)20
17.设有float a=7.5,b=3.0; ,则表达式(int)a/(int)b的值 。
A)2.4 B)2.5 C)3 D)2
18.设有int a=2,b=3,c=4; ,则逻辑表达式aA)2 B)3 C

)4 D)5
19.设有int a;char ch[80]; ,则下列选项中正确的输入语句是 。
A)scanf(“%d%s”,&a,ch[80]); B) scanf(“%d%s”,&a,ch);
C) scanf(“%d%s”, a,ch); D) scanf(“%d%s”, a, &ch);
20.若变量C为char类型,下列选项中能正确判断出C为小写字母的表达式是 。
A)'a'<=c<='z'
21.设有int x,y,z;则泄露选项中能将x,y中较大者赋给变量z的语句是 。
A)if(x>y)z=y; B) if(xC) z=x>y?x:y; D) z=x22.运行下列程序
#include
void main()
{
char c=‵y‵;
if(c>=‵x‵)printf(〝%c〞;c);
if(c>=‵y‵)printf(〝%c〞;c);
if(c>=‵z‵)printf(〝%c〞;c);
}
输出结果是 。
A)y B)yy C)yyy D)xy
23.下列叙述中正确的是 。
A)在switch语句中,不一定使用break语句
B) break语句必须与switch语句中的case配合使用
C)在switch语句中必须使用default
D)break语句只能用于switch语句
24.执行语句for(i=1;i<9;i+=3);后变量i的值是 。
A)8 B) 9 C)10 D)11
25.下列选项中能正确定义并初始化二维数组的是 。
A) int a[ ][3]={1,2,3,4,5,6}; B) int a[ ][ ]={1,2,3,4,5,6};
C) int a[2][ ]={1,2,3,4,5,6}; D) int a[2][3]=“1,2,3,4,5,6”;
26.设有char array[ ]=“Welecome”;则数组array所占的存储单元是 。
A) 6个字节 B)7个字节 C)8个字节 D)9个字节
27.下列程序段的输出结果是 。
char s[ ]=“\\x41xyz”;
printf (“%d\n”,strlen(s));
A)5 B)8 C)9 D)10
28.设有int m[ ]={5,4,3,2,1},i=4;则下列对数组m元素的引用中错误的是 。
A) m[i] B) m[4] C) m[m[0]] D) m[m[i]
29.设有函数调用语句fun((a1,a2),( a3,a4,a5),a6);则该调用语句中实参的个数是 。
A) 6 B)5 C)4 D)3
30.设有以下函数首部:
int func(double x[100],int n)
如果在程序中需要对该函数进行声明,则下列选项中错误的是 。
A) int func(double x[ ],int n); B) int func(double,int );
C) int func(double a[100],int b); D) int func(double *x,int n);
31.C语言规定,函数返回值的类型是由 决定。
A) return语句中的表达式值的类型 B) 调用该函数的主调用函数类型
C) 调用该函数时传递的实参类型 D)定义该函数时指定的函数类型
32.若要说明a是整体型变量,pa为指向a的整体指针变量,则下列选项中正确的是 。
A) int a, *pa=$a; B) int a,pa=&a; C)int a,*pa=a; D) int *pa=&a,a;
33.设有int s[ ]={1,23,5,7,9},*p=s;则下列选项中值为7的表达式是 。
A)*p+2 B)*p+

3 C)*(p+3) D)*(p+2)
34.对于类型相同的两个指针变量之间,能进行的运算是 。
A) % B) = C) ! D) /
35.设有
Struct student
{ char name[21];
int age;
char sex;
}std={“Li Ming”,19,’M’},*p;
P=&std;
则下列输出语句中错误的是 。
A) printf(“%d”,(*p).age); B)printf(“%d”,p->age)
C) printf(“%d”,stb.age); D) printf(“%d”,p.age);
36.设有
union data
{ int i ; char c ; float f ;} a ;
int b ;
则下列语句中正确的是 。
A)a=1.6 B) a.c=’\101’ C) b=a D) printf(“%d\n”,a)
37.设有
Typedef struct ABC
{ long a ; int b; char c[2];}NEW;
则下列叙述中正确的是 。
A)以上的说明形式非法 B)ABC是一个结构体变量
C)NEW是个结构体类型名 D)NEW是个结构体变量
38.设有int x=28; ,则执行语句printf(“%d\n”,x>>2);后的输出结果是 。
A)7 B)14 C)28 D)56
39.C语言中,根据数据的组织方式,文件可分为ASCII文件和 。
A)二进制文件 B)只读文件 C)只写文件 D)随机文件
40.以读写方式打开一个已存在的文件data.txt,下列选项中正确的是 。
A) FILE *fp;fp=fopen(“data.txt”,”rb”);
B) FILE *fp;fp=fopen(“data.txt”,”w”);
C) FILE *fp;fp=fopen(“data.txt”,”r”);
D) FILE *fp;fp=fopen(“data.txt”,”r+”);
二、填空题(每空2分,共20分)
1.结构化程序设计的三种基本结构分别是:顺序结构、 和循环结构。
2.设有int a=65;,执行语句printf(“%x\n”,a);后的输出结果是 。
3.设有double x=56.789; ,则执行语句printf(“%.2f\n”,x);后的输出结果是 。
4.设有int a =27;,则执行语句a%=4;后a的值是 。
5设有int a[3][4]={{1,2},{0,1},{4,6,8,10}};,则a[1 ][1]+a[2 ][2 ]的值是 。
6.C标准库函数中,常用的字符串比较函数是 。
7.表示变量存储方式的关键字auto、 、register和extern.
8.下列程序的输出结果是 。
#include
void main()
{char s[ ]={“Computer”},*p=s;
Printf(“%c”,*p+5);}
9.设有#define M(x) x*x,则M(1+2)的值是 。
10.设有enum weekday {Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Satturday};,则枚举元素Saturday对应的数值是 。
三、阅读理解题(每题4分,共20分)
1.运行一下程序是从键盘输入2010,其运行结果是 。
#include
void main()
{int year,leap=0;
scanf(“%d”,&year);
if((year%4= =0&& year%100!=0)∣∣(year%400= =0))leap=1;
if(leap= =1) printf(“%d is a leap year!\n”,year);
else printf(“%d is not a leap year!\n”,year);
}
2.以

下程序的运行结果是 。
#include
void main( )
{char ch=’c’;
Switch(ch)
{case ‘a’:
case ‘A’:
case ‘b’:
case ‘B’: printf(“good!\n”);break;
case ‘c’:
case ‘C’: printf(“pass!\n”);break;
case ‘d’:
case ‘D’: printf(“warning!\n”);break;
default: printf(“error!\n”);
}
}
3.以下程序的运行结果是 。
#include
void main()
{char s[ ]= “I / love / C / Programming/”;
int i , num;
num = 0;
for ( i = 0;s[ i ] != ‘\0’; i++)
if(s[i]!=’/’ && s[i+1] = = ‘/’) num++;
printf(“ num = %d\n “,num);
}
4.以下程序的运行结果是 。
#include
int f(int n)
{ int m;
if( n = = 0∣∣ n = = 1) m= 3;
else m = n*n-f(n-2);
return(m)
}
Void main( )
{
int n=2,m;
m=f(n);
printf ( “ n=%d,m =%d\n”,n,m);
}
5.以下程序的运行结果是 。
#include
void main()
{char s[ ]= “ABCDEFGH” ,b[ ] = “ abCDefGh”;
char *p1,p2;
printf(“%s\n”,a);
printf(“%s\n”,b);
for (p1=a,p2=b;*p1!’\0’;p1++;p2++)
if(*p1= =*p2) printf(“%c”,*p1);
printf(“\n “);
}
四、编程题(第1题6分,第2、3题各7分,共20分)
1、输入两个正整数a 和 b 整除,输出商,否则输出商和余数。

2、利用循环语句编写程序,计算s = 1+11+111+1111并输出结果。
#include

int main(void)
{
int j,sum=0,t=0;
for(j=1;j<5;j++)
{
t=t*10;
t=t+1;
sum+=t;
printf("%d+",t);
}
printf("\b=%d\n",sum);

return 0;
}

解法二
#include
#include
void main()
{
int i,j,a,s=0;
for (i=1;i<5;i++)
{ a=0;
for(j=i;j>0;j--) a=a+pow(10,j-1);
s=s+a;
}
printf("s=1+11+111+1111=%4d",s);
printf("\n");

}
3、输入10位学生的成绩,输出学生成绩及其所对应的名次。
成绩 90 85 90 95 80 88 70 100 95 95
名次 5 8 5 2 9 7 10 1 2 2
例如,下面有10位学生的成绩及计算后的对应的名次:

其中“95分”排名第2,由于有3个“95分”,下一个较小的成绩“90分”则排名第5。
说明:算法及输出形式不限,相同的成绩及名次可以不重复输出。
#include
void main()
{
int a[11],rank[11];
int i,j,t;

printf("请输入10个学生的成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");

for(i=0;i<10;i++)
{ t=1;
for(j=0;j<10;j++)
if(a[i]rank[i]=t;
}

printf("成绩:");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");

printf("名次:");
for(i=0;i<10;i++)
printf("%4d",rank[i]);
printf("\n");

1F50189FE04F_59CAD3AAC2AB_by_https://www.360docs.net/doc/271318839.html,&

相关文档
最新文档