C语言试题集锦及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是________。
A) 1 B) 2 C) 2.0 D) 2.5
2.以下选项中,与k=n++完全等价的表达式是_________.
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
4.若定义:int a=11, *b=&a; 则printf("%d\n",b);的输出结果为。
A) 无确定值 B) a的地址 C) 11 D) 语法错误
5. 有以下程序
float fun(int x,int y)
{ return(x+y); }
main()
{ int a=2,b=5,c=8;
printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));
}
程序运行后的输出结果是
A) 编译出错B) 9 C) 21 D) 9.0
6.若用数组名作为函数调用的实参,传递给形参的是。
A) 数组的首地址 B) 数组的第一个元素的值
C) 数组中全部元素的值D) 数组元素的个数
7.执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[0]=k; k=s[1]*10;
A) 不定值 B) 33 C) 30 D) 10
8.有以下程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{ char a=’A’,b=’a’;
fun(&b,a); printf(“%c,%c\n”,a,b);
}
程序运行后的输出结果是
A)B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b
9.有以下程序段
int x=3
do
{ printf(“%d”,x-=2); }
while (!(--x));
其输出结果是
A) 1 B) 3 0 C) 1 -2 D)
死循环
10.已有定义 int ( * p ) ( ) ; , 则指针 p 可以。
A) 代表函数的返回值 B) 指向函数的入口地址
C) 代表函数的类型 D) 代表函数返回值的类型
11.设有如下说明语句:
struct stud
{ int a ; float b ; } studtype ;
则下面的叙述中,不正确的是。
A) struct 是结构体类型的关键字 B) struct stud 是用户定义的结构体类型名
C) a 和 b 都是结构体成员名 D) studtype是用户定义的结构体类型名
12. 有以下程序
#include
main()
{ char *p=“abcde\0fghjik\0”;
pr intf(“%d\n”,strlen(p));
}
程序运行后的输出结果是。
A) 12 B) 15 C) 6 D) 5
13
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
14.一个C语言程序是由。
A) 若干主程序和若干子程序组成B) 函数组成
C) 若干过程组成D) 若干子程序组成
15.以下不能定义为用户标识符是。
A) Main B) _0 C) _int D) sizeof
16.合法的C语言赋值语句是。
A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b); 17.以下所列的C语言常量中,错误的是。
A)0xFF B) 1.2e0.5 C) 2L D) ’\72’
18.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是。
A) 1 B) 2 C) 2.0 D) 2.5
19.若有说明语句:
int a=5; a++;
此时表达式a++的值是。
A) 7 B) 6 C) 5 D) 4 20.putchar函数可以向终端输出一个。
A) 整型变量表达式值B) 实型变量值C) 字符串D) 字符或字符型
变量值
21.以下叙述中错误的是。
A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B) 数组名代表的是数组所占存储区的首地址
C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下
标越界"的出错信息
D) 可以通过赋初值的方式确定数组元素的个数
22.设a=5,b=6,c=7,d=8,m=2,n=2, 执行(m=a>b)&&(n=c>d)后n的值为______。
A) 1B) 2C) 3 D) 4
23.以下程序的输出结果是______。
main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i<8)
{ if(p[i]%2) j+=p[i]; i++; }
printf("%d\n",j);
}
A) 42 B) 45 C) 56D) 60 24.以下能正确定义一维数组的选项是______。
A) int a[5]={0,1,2,3,4,5}; B) char a[]={0,1,2,3,4,5};
C) char a={'A','B','C'};D) int a[5]="0123";
25.以下程序的输出结果是______。
int f1(int x,int y){ return x>y?x:y; }
int f2(int x,int y){ return x>y?y:x; }
main(){