一单选题
1.下列程序的运行结果是( )。
- #include <stdio.h>
- void main( )
- {
- int i=3;
- printf("%d, ",i++);
- printf("%d, ",i);
- printf("%d, ",++i);
- printf("%d\n",i);
- }
复制代码
(A) 3,4,5,5 (B) 3,3,4,4 (C) 4,3,3,3 (D) 4,4,3,4
2.下列选项中不合法的常量是( )。
(A) ˊ\6ˊ (B) ˊ\286ˊ (C) " " (D) "\286"
3.设int x=1,y=1;则表达式(!x||- - y)的值是( )。
(A) -1 (B) 1 (C) 2 (D) 0
4.设int x=11,则表达式(x + +*1/3)的值是( )。
(A) 4 (B) 11 (C) 3 (D) 12
5.若a=2,b=3,c=4,则表达式 a= =3 和 a=3的值分别为( )。
(A) 0和3 (B) 1和3 (C) 3和3 (D) 0和0
6.下列选项中对于以下程序段描述正确的是( )。
int k=10;
while(k!=0) k=k-1;
(A) 循环体执行了10次
(B) 循环体是无限循环
(C) 循环体语句一次也不执行
(D) 循环体语句执行了一次
7.下列选项中与while(!x)中的!x等价的条件是( )。
(A) x==1 (B) x!=1 (C) x==0 (D) x!=0
8.一个函数的形式参数的作用域是( )。
(A) main主函数 (B) 整个程序 (C) 从定义处到文件尾 (D) 形参所在的函数体
9.下列程序的运行结果是( )。
- int m=14,n=26;
- max(int x,int y)
- {
- int max;
- max=x>y?x:y;
- return(max);
- }
- main()
- {
- int m=32;
- printf("%d",max(m,n));
- }
复制代码
(A) 32 (B) 14 (C) 24 (D) 26
10.C语言共用体类型变量在程序运行期间( )。
(A) 所有成员一直驻留在内存中
(B) 部分成员驻留在内存中
(C) 没有成员驻留在内存中
(D) 只有一个成员驻留在内存中
11.下列选项中能对二维数组a进行正确说明和初始化的语句是( )。
(A) int a( )(3)={ ( 1, 0 ), ( 2, 5 ) }
(B) int a[2][]={ { 3, 2 }, { 5, 6 } }
(C) int a(2)( )={ ( 1, 1 ), ( 2, 5 ) }
(D) int a[][2]={ { 2, 1 }, { 6, 7 } }
12.设fp是指向某个文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是( )。
(A) 非零值 (B) EOF (C) -1 (D) NULL
13.下列程序运行结果是( )。
- #define MIN(a,b) (a)<(b)?(a):(b)
- void main()
- {int a=10,b=15,c;
- c=10*MIN(a,b);
- printf("%d\n",c);
- }
复制代码
(A) 10 (B) 100 (C) 15 (D) 150
14.getchar()函数可以向终端输入一个( )。
(A) 整型变量表达式值 (B) 字符 (C) 字符串 (D) 实型变量值
15.若运行以下程序时输入:-2<回车>,则程序的输出结果是( )。
- main()
- { int a,b;
- scanf("%d",&a);
- b=(a>=0)?a:-a;
- printf("b=%d",b);
- }
复制代码
(A) b=-2 (B) b=2 (C) b=0 (D) 结果出错
16.下列程序的运行结果是( )。
- void del(char s[],char c)
- {
- int i,j;
- for (i=j=0;s!='\0';i++)
- if(s!=c)
- s[j++]=s;
- s[j]='\0';
- }
- main()
- {
- char s[]="ABCDA";
- del(s,'A');
- printf("%s",s);
- }
复制代码
(A) ABCDA (B) ABCD (C) BCD (D) AA
17.下列程序的运行结果是( )。
- main()
- {
- char *str="liaoning\nshenyang\0sydx";
- puts(str);
- }
复制代码
(A) liaoning
(B) liaoning
shenyang
(C) shenyang
(D) 0sydx shenyang
18.已知字母A的ASCII码为十进制数65,则下面程序段的运行结果为( )。
char ch1,ch2;
ch1= ˊAˊ+5-3; ch2= ˊAˊ+6-3;
printf("%c, %d\n", ch1,ch2);
(A) 67,D (B) B,C (C) 不确定值 (D) C,68
19.下列程序的运行结果为( )。
- #include<stdio.h>
- void main()
- {
- int a=2,b=-1,c=2;
- if (a<b)
- if (b<0) c=0;
- else c++;
- printf("%d\n",c);
- }
复制代码
(A) 2 (B) 0 (C) 1 (D) 3
20.若有如下语句:float *p1,*p2;则其中float所指的是( )。
(A) p1的类型 (B) p1和p2所能指向变量的类型 (C) p2的类型 (D) *p1和*p2的类型
21.能正确表示x的取值范围在[5,10]和[-10,-5]之间的表达式为( )。
(A) (x<=-10)||(x>=-5)&&(x<=5)||(x>=10)
(B) (x>=-10)&&(x<=-5)||(x>=5)&&(x<=10)
(C) (x>=-10)&&(x<=-5)&&(x>=5)&&(x<=10)
(D) (x<=-10)||(x>=-5)||(x<=5)||(x>=10)
22.C语言中,数组名代表( )。
(A) 数组全部元素的值 (B) 数组第一个元素的值 (C) 数组元素的个数 (D) 数组的首地址
23.若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a>b?a:c>d?c:d的值是( )。
(A) 1 (B) 2 (C) 3 (D) 4
24.下列程序的运行结果是( )。
- # include<stdio.h>
- void main()
- {
- int a[3][3],*p,i;
- p=&a[0][0];
- for(i=0;i<9;i++)p=i;
- for(i=0;i<3;i++)printf("%d",a[1]);
- }
复制代码
(A) 258 (B) 147 (C) 036 (D) 678
25.下列选项中,全为C语言的基本数据类型的是 ( )。
(A) 数组 结构体 共用体 (B) 整型 数组 指针 (C) 整型 实型 字符型 (D) 指针 逻辑型 空类型
二填空题(在记事本中作答,答案前注明小题标号,并按照系统提示保存)
26.输入10个员工的工号和工资,并打印出工资最高者的工号和工资。
#include<stdio.h>
void main()
- {
- int num[10],i,*p,wage[10], max;
- for(i=0; 【1】 ;i++) scanf(" 【2】 ",num+i,wage+i);
- max=wage[0];
- p=wage+1;
- while(p<wage+10)
- {
- if(*p> 【3】 ) max=*p;
- 【4】 ;
- }
- for(i=0;i<10;i++)
- if(*(wage+i)==max)
- printf("num[%3d]=%2d;wage[%2d]=%3d\n",i, 【5】 ,i,wage);
- }
复制代码
27.用4~8之间不同的3个数构成一个三位数,下列程序将统计出共有多少种组合方法。
- #include<stdio.h>
- void main()
- { int a,b,c, 【6】 ;
- for(a=4; 【7】 ;a++)
- for(b=4;b<=8; 【8】 )
- if(a==b) 【9】 ;
- else
- for(c=4;c<=8;c++)
- if(c!=a&&c!=b) 【10】 ;
- printf("%d\n",count);
- }
复制代码
三编程题
28.编写程序,将键盘上输入的一个阿拉伯数字(0123456789)改写成对应的中文字(零壹贰叁肆伍陆柒捌玖),然后显示在屏幕上输出。
备注:按系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹内的文件命名参照提示所给的程序架构。
例:第一题的试题文件名为“1”,文件名为“Test1.C”
|