湖南工业大学C语言期末考试复习题(机房题库)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言期末考试复习题(机房题库)
2、以下各选项中,合法的 c 语言重点字是( )。

A. integex
B. sin
C. string
D. void参照答案 : D
3、C 语言的程序一行写不下时,应当( )。

A. 用回车符换行
B. 在随意一个空格处换行
C. 用分号换行
D. 用逗号换行答案: B
4、以下选项中正确的整型常量是( )。

A. 34. 1
B. -80
C. 2,000
D. 1 2 3参照答案 : B
5、在 C 程序中,能够作为用户表记符的一组表记符是( )。

A. void define WORD
B. as_b3 _224 Else
C. switch _wel ease
D. 4b DO SIG答案 : B
8、以下表达不正确的选项是 ( )
A. 一个 c 源程序可由一个或多个函数构成
B. 一个 C 源程序一定包含一个main()函数
C. c程序的基本构成单位是函数
D. 在 C 程序中,说明说明只好位于一条语
句的后边答案: D
9、C 语言规定:在一个源程序中,main()函数的地点 ( )
A. 一定在最开始
B. 一定在系统调用的库函数的后边
C. 能够随意
D. 一定在最后参照答案: C
10、在 C 语言中,数字 029 是一个()
A. 八进制数
B. 十六进制数
C. 十进制数
D. 非法数参照答案: D
12、C 语言可履行程序的开始履行点是( )
A. 程序中的一条可履行语句
B. 程序中第一个函数
参照答案 : C
C. 程序中的 main 函数
D. 包含文件中的第一个函数
13、C程序是 ( )
A. 次序履行
B. 从 Main 函数开始
C. 从函数体开始
D. 随意语句参照答案: B
16、以下说法中正确的选项是 ( )。

A.C语言程序中是从第必定义的函数开始履行
B.在C语言程序中,要调用的函数一定在 main()函数中定义
C.C语言程序老是从 main()函数开始履行
D.C语言程序中的 main()函数一定放在程序的开始部分参照答案: C
17、一个 C 程序的履行是从 ( )
A. 本程序的 main 函数开始,到 main 函数结束
B.本程序言件的第一个函数开始,到本程序言件的最后一个函数结束
C.本程序的 main 函数开始,到本程序言件的最后一个函数结束
D. 本程序言件的第一个函数开始,到本程序main 函数结束参照答案: A
18、以下表达正确的选项是 ( )
A. 在 C 程序中, main 函数一定位于程序的最前方
B. C程序的每行中只好写一条语句
C. C语言自己没有输入输出语句
答案: C
D. 在对一个 C 程序进行编译的过程中,可发现说明中的拼写错误
1、C 源程序的基本单位是 ___函数 __
2、一个 C 源程序中起码应包含一个_________答案 : main 函数
3、在一个 C 源程序中,说明部分双侧的分界符分别为________和_______参照答
案: /* ,*/
4、函数体用 _______开始,用 ______结束。

参照答案: { , }
6、C 语言中的表记符只好由 3 种字符构成,它们是 _____、_____和 _____
参照答案 : 字母数字下划线
7、设 a,b 和 c 都是 int 型变量,且 a=3,b=4,c=5,则下边表达式的值为0 的是 _______.
A. 'a'&&'b'
B. a<=b
C. a||b+c&&b-c
D. !((a < b)&&!c||1)参照答案:
D
10、判断字符型变
量 A. 'A'<=x<='Z'x 是不是大写字母的正确的表达式______.
B. (x>=A)&&(x<=Z)
C. ('A'<=x)&&('Z'=>x)
D.
(x>='A')&&(x<='Z') 答案 : D
1、已知 char ch;则判断 ch 是英文字符的逻辑表达式是_______________
参照答案 : (ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')
2、表示条件: 10 < x < 100或 x < 0的 C 语言表达式是 ________。

参照答案 : (X>10&&X<100)|| X<0
3、写出下边各个逻辑表达式的值,设a=3, b=4,c=5
1)! (x=a)&&(y=b)&&0
2) a||b+c&&b-c
3) !(a>b)&&!c||1参照答案: 0,1,1
4、当 a=3,b=2,c=1时,表达式 f=a > b > c的值是 _________ 参照答案 : 0
6、设 y 是 int 型变量,请写出判断y 为奇数的关系表达 ___________.
参照答案 : (Y%2)==1
8、表示“整数 x 的绝对值大于 5”时价为“真”的 C 语言表达式是——。

参照答案 : x>5||x<-5
9、已知 A=,B=2,C=,表达式 A>B&& C>A||A<B& &!C>B 的值是——。

参照答案: 0
1、以下选项中属于 C 语言的数据种类是
A. 复数型
B. 逻辑型
C. 双精度型
D. 会合型参照答案 : C 2、在 C 语言中,
不正确的 int 种类的常数是
A. 32768
B. 0
C. 037
D. 0xAF 参照答案: A
4、在C 语言中,合法的长整型常数是
A. OL
B. 4962710
C. 324562&
D. 216D参照答案 : A
7、以下所列的 C 语言常量中,错误的选项是
A. 0xFF
B.
C. 2L
D. '\72'参照答案: B
9、以下变量名合法的是( )
A. #1
B. $567
C. a-b
D. m_number参照答案 : D
14、C 语言供给的合法的数据种类重点字是:
A.Double
B.short
C.integer
D.Char参照答案: B
15、在 C 语言中 (以 16 位 PC机为例 ),5 种基本数据种类的储存空间长度的摆
列次序为
A. char < int < long int < =float < double
B. char=int < long int<=float < double
C. char < int < long int=float=double
D. char=int=long int<=float < double参照答案: A
16、以下四组选项中,均不是C 语言重点字的选项是
A. define IF type
B. getc char printf
C. include scanf case
D. while go pow参照答案: A
17、下边四个选项中,均是合法整型常量的选项是
A. 160 -0xffff 011
B. -0xcdf 01a 0xe
C. -0x46a 2e5 0x
D. -0x48a 2e5 0x参照答案 : A
18、下边四个选项中,均是合法的浮点数的选项是
A. +1e+103e2
B.12e-4 -8e5
C.123e +2e-1
D. -e3 .8e-4参照答案: B
20、下边四个选项中,均是不正确的八进制数或十六进制数的选项
是 A. 016 0x8f 018
B. 0abc 017 0xa
C.
010 -0x11 0x16 D.
0a12 7ff -123参照答案 : D
21、已知各变量的种类说明以下:
int k,a,b;
unsigned long w=5;
double x=;
则以下不切合 C 语语言法的表达式是
A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b)
D. a+=a-=(b=4)*(a=3)答案: A
25、设C 语言中,一个 int 型数据在内存中占 2 个字节,则unsigned int型数据的取值范围
A. 0--255
B. 0--32767
C. 0--65535
D. 0—47参照答案: C
2、设有以下变量定义 ,并已赋确立的值 char w; int x; float y; double z;
则表达式 :w*x+z-y 所求得的数据种类为 _ :double
5、表达式 8/4*(int)(int)*+) 值的数据种类为 ___参照答案 : int
6、表达式 pow,sqrt(double(x)))值的数据种类为 ___: double ______
7、设 C 语言中,一个 int 型数据在内存中占 2 个字节,则 int 型数据的取值范围为 _______
参照答案 : -32768 至 32767
1、算法的表示方法有 _答案 : 自然语言,传统流程图, N-S 流程图,伪代码,计
算机语言
1、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系 ,则能正确表示这一关系的
表达式为 ________。

A. a < > 0
B. !a
C. a=0
D. a!=0参照答案: D
2、以下程序出果是
main ( )
{ int m=5;
if (m++ > 5) printf ("%d\n",m);
else printf ("%d\n",m--); }
A.7
B.6
C.5
D.4参照答案: B
4、若量都已明 ,以下程序段出 ( )
a=10;b=50;c=30;
if (a > b) a=b; b=c;c=a;
printf("a=%db=%dc=%d\n",a,b,c);
A. a=10 b=50 c=10
B. a=10 b=30 c=10
C. a=50 b=30 c=10
D. a=50 b=30 c=50参照答案: B
5、防止嵌套的条件分支句if ⋯else 的二性, C 言定, C 程序中的else 是与 ____成配关系。

A. 其上边距它近来的,而且没有其余else 与其配的 if 相当
B. 在同一行上的 if
C. 排地点同样的if
D. 在其以前未配的if参照答案: A
8、程序:
main()
{ float x,y;
scanf("%f",&x);
if(x < y=
else if((x < &&(x!=)
y=(x+;
else if( x < y=x;
else y=;
printf("%f\n",y); }
若运转从上入 (表示回 ),上边程序的出果是
A. B. C. D.参照答案: C
9、在行以下程序,了使出果t=4,
a 和
b 入的足的条件是D
main( )
{ int s, t,a,b;
scanf("%d,%d",&a,&b);
s=1;
t=1;
if(a < 0)s=s+1;
if(a > b)t=s+1;
else if(a= =b)t=5;
else t=2*s;
printf("t=%d\n" ,t);
}
A. 0 > a > b
B. a=0 < b
C. a=b < 0
D. a < b < 0
10、如有定义 : float w; int a, b; 则合法的 switch 语句是 ( )
A. switch(w) { : printf("*\n"); : printf("**\n"); }
B. switch(a); { case 1 printf("*\n"); case 2 printf("*\n"); }
C. switch(b) { case 1: printf("*\n"); case 2: printf("*\n"); }
D. switch(a+b); { case 1: printf("*\n"); default: printf("\n"); case 2 }
案 : C
参照答
11、判断两个字符串S1和S2相等的正确语句是____
A. if (S1=S2)
B. if (S1==S2)
C. if (strcpy(S1,S2))
D. if (strcmp(S1,S2)==0)参照答案 : D
15、当 a=1,b=3,c=5,d=4时,履行完下边一段程序

if(a < b)
if(c < d) x=1;
else
if(a < c)
if(b < d) x=2;
else x=3;
else x=6;
else x=7;
A.1
B.2
C.3
D.6参照答案:B
x 的值是
16、读以下程序:
#include
main()
{
int x,y;
scanf(”% d”,& x);
y=0;
if(x>=0)
{if(x>0)y=1;}
else y=-1;
prinff( ”% d”,y);}
当从键盘输入 32 时,程序输出结果为
A.0
B.1
C.-1
D. 不确立( )。

参照答案 : B
18、以下程序的输出结果是( )。

#include
main()
{
int a=12,b=5,c=-3;
if(a>b)
if(b<0)c=0;
else c++;
printf( ”% d\n”,c);
}
A. 0
B. 1
C. -2
D. -3参照答案 : C
19、#include
main()
{ int x:
scanf(”% d”, &x);
if(x--<5)prinff(”% d”, x);
else printf(”% d”,x++);
}
5,则输出结果是 ( )。

程序运转后,假如从键盘输入
A. 3
B. 4
C. 5
D. 6参照答案 : B
21、以下程序的运转结果是( )。

#include
main()
{
int k=2;
switch(k)
{
case 1:printf( ”% d\n”, k++);
break;
case 2:printf( ”% d”, k++);
case 3:printf( ”% d\n”, k++);
break;。

case 4:printf( ”% d\n”, k++);
A. 缩排地点同样的if
B. 其以前近来的
C. 其以后近来的 if
D. 同一行上的 if if
参照答案 : B
24、以下语句正确的选项是 ( )
A. if(a > b > c) temp=a
B. if((a=b) > 0) temp=a
C. int a=b=c=4
D. int a;scanf(%d,a)参照答案: B
26、有以下程序
main()
{ int a=2,b=-1,c=2;
if(a < b)
if(b<0) c=0;
else c++
printf("%d\n",c);
}
该程序的输出结果是
A.0
B.1
C.2
D.3参照答案:C
27、与 y=(x > 01:x < 0-1:0);的功能同样的 if 语句是
A. if(x > 0) y=1; else if(x < 0) y=-1; else y=0;
B. if(x) if(x > 0) y=1; else if(x < 0) y=-1; else y=0;
C. y=-1 if(x) y=1; else if(x==0) y=0; else y=-1;
D. y=0 if(x > -0) if(x > 0) y=1; else y=-1; 参照答案 : A
填空题:
2、以下程序运转后的输出结果是——。

#include
main()
{int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf( ”% d,% d\ n”,x,y);
} 参照答案:0
3、若 int i=10;,则履行以下程序后,变量i 的正确结果是——。

switch(i)
{case 9:i+=1;
case 10: i+=1;.
case 11: i+=1:
default:i+=1;
}答案: ((20<X)&&(X<30))||(X<-100) tr <>
4、以下程序段的输出结果是_____________ 。

int n='c';
switch(n++)
{ default: printf("error");break;
case 'a':case 'A':case 'b':case 'B':printf("good");break;
case 'c':case 'C':printf("pass"); case 'd':case
'D':printf("warm");
}
参照答案 : passwarm
已知 int a[][3]={1 ,2,3,4,5,6, 7};,则数组 a 的第一维的大小是 ( )。

A.2
B.3
C.4
D. 无确立值参照答案:B
2、有以下程序:
#include
main()
{int n[5]={0, 0, 0},i, k=2;
for(i=0;i
printf( ”% d\n”,n[k]);
}
该程序的输出结果是( )。

A. 不定值 B. 2 C. 1 D. 0答案: D 3、以下程序的输出结果是( )。

#include
f(int b[] , int m, int n)
{int i ,s=0;
for(i=m; i
return s;
}
main()
{int x,a[]={1, 2, 3, 4, 5, 6, 7, 8, 9};
x=f(a,3,7);
printf( ”% d\n”,x);
}
A.10
B.18
C.8
D.15答案:A
4、以下程序中函数reverse()的功能是将 a 所指数组中的内容进行逆置。

#include
void reverse(int a[], int n)
{int i ,t;
for(i=0;i
{t=a[i] ;a[i]=a[n-1-i];a[n-1-i]=t ; }
}
main()
{int b[10]={1,2,3,4,5,6,7,8,9,10};int i ,s=0;
reverse(b, 8);
A. 22
B. 10
C. 34
D. 30
参照答案 : A
5、在 c 语言中,一维数组的定义方式为:种类说明符数组名( )。

A. [常量表达式 ]
B. [整型表达式 ]
C. [整型常量 ]或[整型表达式 ]
D. [整型常量 ]
参照答案 : A
6、如有说明: int a[3][4] ;,则对 a 数组元素的非法引用是 ( )。

A.a[O][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]答案: D
7、下边程序中有错误的行是( )。

(1)main()
(2){
(3)int a[3]={1};
(4)int i;
(5)scanf(”% d”,& a);
(6)for(i=1; i<3; i++)a[0]=a[0]+a[i];
(7)prinff( ”% f\n”,a[0]);
(8)}
A.3
B.6
C.7
D.5答案:D
11、下边程序 ________(每行程序前方的数字表示行号)
1main()
2{
3float a[3]={0,0};
4int i;
5for(i=0;i<3;i++) scanf("%d",&a[i]);
6 for(i=1;i<10;i++) a[0]=a[0]+a[i];
7printf("%f\n",a[0]);
8}
A. 没有错误
B. 第 3 行有错误,固然编译能够经过
C. 第 5 行有错误,固然编译能够经过
D. 第 7 行有错误,固然编译能够通过
参照答案 : C
12、以下不正确的定义语句是
A. double x[5]={,,,,};
B. int y[5]={0,1,3,5,7,9};
C. char c1[]={'1','2','3','4','5'};
D. char c2[]={'\x10','\xa','\x8'}
13、履行下边的程序段后 ,变量
参照答案 : B k 中的值为
s[0]=k; k=s[1]*10;
A. 不定值
B. 33
C. 30
D. 10答案: A
15、定义以下变题和数组 :
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下边语句的输出结果是
for(i=0;i< 3;i++) printf("%d",x[i][2-1]);
A.159
B.147
C.258
D.369
参照答案 : C
16、以下程序的输出结果是
main()
{ static int s[][3]={{1,2,3},{4,5,6}};
int t;
t=(s[0][0], s[1][1],s[0][1]+s[1][2]);
printf("%d \n",t);
}
A.5
B.6
C.7
D.8
参照答案 : D
17、以下对数组赋值的语句正确的选项是( )
A. static a[4]={0,0,0,0}
B. int a[4]={0*4}
C. static a[4]=0
D. static a[4];a=0;答案: A
19、如有说明int a[3][4]; 则对a 数组元素的正确引用是
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
20、如有说明
D. a(2)(1)答案: C
int a[3][4]; 则 a 数组元素的非法引用是
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]答案: D
1、用来引用特定数组元素的数字称为
2、把数组元素按次序寄存的过程称为:下标_: 排序
4、在 C 语言中 ,二维数组元素在内存中的寄存次序是: 按行次序寄存
5、下边程序的运转结果是——。

#include
main()
{int i ,f[10] ;
f[0]=f[l]=1 ;
for(i=2;i
f[i]=f[i-2]+f[i一 1];
for(i=0;i
{if(i%4==0)printf( ”\ n”);
printf( ”% 3d”, f[i]) ; } }参照答案 :1123
581321
34 55
7、在 C 语言中,一维数组的定义方式为:种类说明符数组名——。

参照答案 : [常量表达式 ]
8、阅读程序,写出履行结果——。

#include
func(int b[])
{int j ;
for(j=0;j<4;j++)
b[j]=j ;
main()
{int a[4] ,i;
func(a);
for(i=0;i<4;i++)
printf( ”% d”,a[i]);
}参照答案:0123
1、编写程序,将一个不大于 256 的十进制正整数转变为 8 位的二进制数,若不足8 位,则在前方补 0,比如十进制数 2 转变位 8 位二进制数后是 00000010, 37 转变后是 00100101。

试求出十进制数 5、23、189 转变位 8 位二进制分别是多少 (要求一定使用循环语
句实现 )
参照答案 : main()
{
int a,i,b[8];
printf("Please Input a Number < =256:\n");
scanf("%d",&a);
for(i=1;i < =8;i++)
b[i]=0;
i=8;
while (i > =1)
{ b[i]=a%2;
a=a/2;
if (a==0)
break;
i--;
}
for(i=1;i< =8;i++)
printf("%d",b[i]);
printf("\
2、编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是 26、之积是 880。

参照答案 :main()
{
long a0,d;
long s;
for(a0=1;a0<=26;a0++)
{
for(d=1;d<=26;d++)
if((a0+a0+d+a0+2*d+a0+3*d)==26&&a0*(a0+d)*(a0+2*d)*(a0+3*d)==880)
{
s=a0*a0*a0+(a0+d)*(a0+d)*(a0+d)+(a0+2*d)*(a0+2*d)*(a0+2*d)
+(a0+3*d)*(a0+
3、本程序演示打印出杨辉三角形(要求打印出10 行以以下图)
[程序剖析]
1
11
121
1331
14641
1510 10 51
参照答案 : main()
{
int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
{
for(j=1;j
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j+
3、以下对于运算符优先次序的描绘中正确的选项

A. 关系运算符< 算术运算符< 赋值运算符
B. 逻辑运算符< 关系运算符< 算术运算符
C. 赋值运算符< 逻辑运算符< 关系运算符
D. 算术运算符< 关系运算符< 赋值运算符< 逻辑运算符
< 赋值运算符
< 算术运算符
< 逻辑运算符参照答案: C
7、有以下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
履行该程序段后,x 的值为
A. ture
B. false
C. 0
D. 1答案: D
8、设有 int x=11; 则表达式(x++ * 1/3) 的值是
A.3
B.4
C.11
D.12答案:A
13、在 C 语言中,假以下边的变量都是int 种类,则输出结果是______
sum=pad=5;
pAd=sum++,pAd++,++pAd;
printf("%d\n",pad);
A.7
B.6
C.5
D.4参照答案:B
14、设有 int i=10,j=10;
则 printf("%d,%d\n" ,++i,j--)的输出是 _____.
A. 11, 10
B. 9 10
C. 10 9
D. 10,9参照答案: A
16、设 a,b 和 c 都是 int 型变量,且 a=3,b=4,c=5,
则下边表达式的值为 0 的是()。

A. 'a'&&' b'
B. a <= b
C. a||b+c&&b-c
D. !((a < b)&&!c||1)参照答案: D
17、以下赋值语句正确的选项是(设 int a,x) ( )
A. a=(a[1]+a[2])/2
B. a*=*a+1
C. a=(x=1,x++,x+2)
D. a="good"
参照答案 : C
20、设有 a=b=c=2,求表达式 a+++b+++c+++的结果是 _______.
A. 6
B. 9
C. 8
D. 表达式犯错参照答案: A
21、设有以下定义:
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是_______.
A.1
B.0
C.4
D.3
24、如有以下定义,则能使值为参照答案 : D 3 的表达式是
int k=7,x=12;
A. x%=(k%=5)
B. x%=(k-k%5)
C. x%=k-k%5
D. (x%=k)-(k%=5)参照答案: D
1、设 x 和 y 均为 int 型变量 ,且 x=1,y=2,则以下表达式: 0+x/y 的值为 : 0
2、计算表达式 6*7%2+7%2*5 的值是 : 5
3、如有说明语句 int I, j,I=6,履行 j=( ++I) +(I++)后, j 的值是 : 14
4、输出为 __________
main( )
{char x,y;
x='a'; y='b';
printf("xy\bmn\r");
printf("%c\\%c\\n",x,y);
printf("%c\a\n",' \65 ');}
参照答案 : a\b\n 5
5、写出以下表达式运算后 a 的值设本来 a=12
1) a+=a
2) a-=a
3) a/=a+a
4) a+=a-=a*= a
参照答案 : 24,0,0,0
6、若 a,b 和 c 均是 int 型变量,则计算表达式后,
a值为 ______,b 值为 ______,c 值为 __________
a=(b=4)+(c=2)
参照答案 : 6, 4, 2
7、如有定义: int a=2,b=3;float x=,y=;则下边表达式的值为 _______
(float)(a+b)/2+(int)x%(int)y
参照答案 :
8、若 x 和 n 均是整型变量,且 x 的初值为 12,n 的初值为 5,则计算表达式后 x 的值为
x%=(n%=2)参照答案: 0
9、如有以下定义,则计算表达式 y+=y-=m*=y 后的 y 值是 ___________
int m=5,y=2;参照答案: -16
10、已知字母 a 的 ASCII码为十进制数 97,且设 ch 为字符型变量,
则表达式 ch='a'+'8'-'3'的值为 __________参照答案: 'f'
11、假定 m 是一个三位数,从左到右用a,b,c 表示各位的数字,则从左到右各个
数字是bac的三位数的表达式是___________参考答案: (m/10)%10*100+m/100*10+m%10
12、表示 "整数x 的绝对值大于5"时价为 "真"的 C 语言表达式是参照答案 : x>5||x<-5
1、合法的数组说明语句是( )。

A. int a[]="string" ;
B. int a[5]={O,1,2,3,4,5};
C. char a="string";
D. char a[]={0,1,2,3,4,5};参照答案: D
2、设有数组定义: char array[]=” China”;,则数组 array 所占的空间为 ( )。

A. 4 个字节
B. 5 个字节
C. 6个字节
D. 7 个字节
参照答案 : C
3、以下程序履行后的输出结果是( )。

#include
main()
{char arr[2][4] ;
strcpy(arr,”you” );strcpy(arr[1] ,”me”);
arr[0][3]= ’ &’;
printf( ”% s\n”, arr");
}
A. you&me
B. you
C. me
D. err 参照答案 : A 4、有
以下程序:
#include
#includemain()
{char a[]={'a','b' ,'c’, 'd' ,'e’,'f' , 'g','h' , '\0'};int i ,
j ;i=sizeof(a);j=strlen(a);
printf( ”% d,% d\ n”,i,j);
}
程序运转后的输出结果是( )。

A. 9,9
B. 8,9
C. 1,8
D. 9,8参照答案 : D
5、对两个数组 a 和 b 进行以下初始化:
char a[]=”ABCDEF”:
char b[]={’ A’,'B', 'C',’D’, 'E','F'};
则以下表达正确的选项是 ( )。

A. 数组 a 与数组 b 完整同样
B. 数组 a 与数组 b 长度同样
C. 数组 a 与数组 b 中都寄存字符串
D. 数组 a 比数组 b 长度长参照答案 : D
7、判断字符串
A. if(sl>s2)sl 能否大于字符串s2,应当使用 ( )。

B. if(strcmp(sl, s2))
C. if(strcmp(s2, s1)>0)
D. if(strcmp(sl,
s2)>0)
参照答案 : D
8、当运转以下程序时,从键盘输入: AhaMA[空格 ]Aha<回车 >,则下边程序的运转结果是 ( )。

#include
main()
{char s[80],c='a';
int i=0:
scanf(”% s”, s);
while(s[i]!=' \0')
{if(s[i]==c) s[i]=s[i]-32;
else if(s[i]==c-32)s[i]=s[i]+32;
i++:
}
pu
A. ahAMa
B. AbAMa
C. AhAMa[空格 ]ahA
D. ahAMa[空格 ]allA参照答案 : A
12、以下程序的输出结果是
main()
{ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++) printf("%s\n",w[k]);
}
A. ABCD FGH KL
B. ABCD EFG IJ
C. EFG JK O
D. EFGH IJKL参照答案 : D
14、给出以下定义 :
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的表达为
A. 数组 X 和数组 Y 等价
B. 数组 x 和数组 Y 的长度同样
C. 数组 X 的长度大于数组 Y 的长度
D. 数组 X 的长度小于数组 Y 的长度参照
答案 : C
15、合法的数组定义是
A. static int a[]=″string″ ;
B. static int a[5]={0,1,2,3,4,5}
C. static char a=″string″ ;
D. static char a[]={0,1,2,3,4,5};
参照答案 : D
16、合法的数组定义是 ( )
A. char A[3][]={"111","222"}
B. char a[][3]={'aaa','ddd'}
C. char a[3][]={'t','u'}
D. char a[][3]={"a","k"}
参照答案 : D
17、以下程序的输出结果是
main( )
{ char ch[3][4]={"123","456" , "78"}; int i;
for(i=0;i<3;i++) printf("%s", ch[i]);
}
A. 0
B. 123 456 780
C.
D. 147答案: C
18、履行以下程序时输入 :123<空格 >456<空格 >789<回车>,输出结果
是 main()
{ char s[100];
int c, i;
scanf("%c",&c); scanf("%d",&i); scanf("%s",s);
printf("%c,%d,%s \n",c,i,s);
}
A. 123,456,789
B. 1,456,789
C. 1,23,456,789
D. 1,23,456答案: D
20、下边程序的运转结果是
main()
{ char ch[7]={"65ab21"};
int i, s =0;
for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n",s);
}
A. 12ba56
B. 6521
C. 6
D. 62答案: C
1、下边程序的功能是:将字符数组 a 中下标值为偶数的元素从小到大摆列,其
它元素不变。

请填空。

#include
#include
main()
{ char a[]="clanguage",t;
int i, j, k;
k=strlen(a);
for(i=0; i<=k-2; i+=2)
for(j=i+2; j<=k;_______(1)__________)
if(_________(2)__________)
{ t=a[i]; a[i参照答案: j=j+2,a[i]>a[j]
2、如有定义语句: char s[100],d[100]; int j=0, i=0;,且 s 中已赋字符串,请填空以实现字符串拷贝。

(注:不得使用逗号表达式)
while([i]){ d[j]= ______ s[i++]_______;j++;i++;}
d[j]=0;
3、以下程序段的输出结果是________________。

main()
{ char b[]="Hello,you";
b[5]=0;
printf("%s \n", b );
}参照答案: Hello
4、以下程序的输出结果是 ___________ 。

main()
{ char s[]="abcdef";
s[3]= \0';‘
printf("%s\n",s);
}参照答案: abc
5、下边程序的功能是:将字符数组 a 中下标值为偶数的元素从小到大摆列,其余元素不变,请填空。

#include
#include
main()
{char a[]=” clanguage”,t ;
int i, j,k;
k=strlen(a);
for(i=0;i<=k-2; i+=2)
for(j=i+2;j
if(___________)
{t=a[i] ;a[i]=a参照答案 : i+=2
a[ij>a[j]
6、以下程序的输出结果是——。

#include
main()
{char S[]=” abcdef”;
S[3]=’\ 0’;
printf( ”% s\n”, S);
}参照答案 : abe
7、下边程序的运转结果是——。

char c[5]={’a’,rb’,’\ 0’,’c’,’\ 0’ };
printf( ”% s”, c);参照答案: ab
8、阅读程序,写出履行结果——。

#include
main()
{char str[30];
scanf(”% s”, str);
printf( ”% s”, str);
}
运转程序,输入Fortran Language
1、以下程序的输出结果是
参照答案 : Fortran
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A. 1
B. 0
C. 非0 的数
D. -1参照答案 : A
2、以下程序履行后的输出结果是
main()
{ char x=0xFFFF; printf("%d \n",x--); }
A. -32767
B. FFFE
C. -108
D. -32768参照答案 : C
3、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是
(说明 :'\b' 是退格符)
A. a\bre\'hi\'y\\\bou
B. a\bre\'hi\'y\bou
C. re'hi'you
D. abre'hi'y\bou
参照答案 : C
4、请读程序
int i =65536
printf("%d\n",i);
上边程序的输出结果是_____
A. 65535
5、设 x 为 int
B. 0
C. 有语法错误,无输出结果
型变量 ,则履行以下语句后 ,x 的值为
D. 1参照答案 : B
x=10; x+=x-=x-x;
A. 10
B. 20
C. 40
D. 30参照答案 : B
6、以下程序的输出结果是_____
main()
{char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str));
}
A. 6
B. 7
C. 11
D. 12参照答案 : A
7、下边哪个是
A. a=1,b=2
C 语言中的正确赋值语句;
B. i++;
C. a=b=5
D. y=int(x)参照答案 : B
8、履行以下程序段
float f;
int i;
scanf("%3d%4d%f",&i,&f);
输入为 .43,则赋值结果为();
A. i=123,f=.43 C. i=123,f=
B. i=123,f=+7
D. i=;f=
参照答案 : C
9、履行程序段char str[20]={'a','b','c','\o'};
int len=strlen(str);
变量len 的值为 ( )
A. 20
B. 4
C. 3
D.3或4或20参照答案 : B
10、以下程序的输出结果是
main( )
{ int a=12,b=12;
printf("%d%d\n",--a,++b);
}
A. 10 10
B. 12 12
C. 11 10
D. 11 13参照答案: D
11、有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9; b=(-
1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是
A. 2,1
B. 3,2
C. 4,3
D. 2,-1参照答案: A
12、已知字母 A 的 ASCⅡ码为十进制的 65,下边程序的输出是main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A. 67,D
B. B,C
C. C ,D
D. 不确立的值参照答案: A
13、若履行下边的程序时从键盘上输入 3 和 4,则输出是
main()
{
int a,b,s;
a=3,b=4;
scanf("%d%d",&a,&b);
s=a+b;
printf("%d\n",s--);
printf("%d\n,--s);
}
A. 7,7
B. 7,5
C. 6,7
D. 7,6 参照答案 : B 14、以
下程序履行后的输出结果是 main()
{ int x='f';
printf("%c \n",'A'+(x-'a'+1)); }
A.G
B.H
C.I
D.J参照答案:A
15、以下程序的输出结果是__
main()
{ int x=10 ,y=10;
printf("%d%d\n",x--,--y) ;}
A. 10,10
B. 9,9
C. 9,10
D. 10,9参照答案: D
16、请读程序 :
main()
{ int A; float B, C;
scanf("%2d%3f%4f",&A,&B,&C);
printf("\nA=%d,B=%f,C=%f\n",A,B,C);
}
若运转时从键盘上输入10(表示回车 ),则上边程序的输出结果是
A. A=10, B=, C=
B. A=10, B=, C=
C. A=98, B=, C=
D. 以上答案都不正确参照答案 : D
17、以下程序的输出结果是
main()
{
int a=12,b=12;
printf ( "%d %d\n", --a,++b) ;
}
A. 10 10
B. 12 12
C. 11 13
D. 11 10参照答案: C
18、如有说明:“double a;”,则正确的输入语句应当是()
A. scanf("%lf",a);
B. scanf("%f",&a);
C. scanf("%lf",&a)
D. scanf("%le",&a);答案: D
22、以下对于 switch 语句和 break 语句的结论中,正确的选项是( )。

A. break 语句是 switch 语句中的一部分
B. 在 switch 语句中能够依据需要使用或不使用break 语句
C. 在switch语句中一定使用break 语句
D. break语句只好用
switch 语句中参照答案 : B

23、设有说明语句“ int a=1,b=0;”,则履行以下语句后,输出为( )。

switch(a)
{ease 1:
switch(b)
{case 0:printf( ”**0** ” );break;
case 1:printf( ” **1** ”);break;
}
case 2:printf( ” **2** ”);break;
}
A. **0**
B. **0****2**
C. **0****1****2**
D. 有语法错误答案 : B
1、若想经过以下输入语句使 a 中寄存字符串
1234,b 中寄存字符5,则
输入数据的形式应当是_____________ 。

char a[10],b;
scanf("a=%s b=%c", &a, &b);
printf("%s,%c\n",a,b);参照答案 : a=1234 b=5
2、标准库函数 _________在屏幕上显示信息。

参照答案: printf
3、main( )
{char st='A';
int i=10; st=st+i;i=st%i;
printf("%C,%d\n",st,i);}
已知字母 A 的 ASCII码为 65
结果: ____参照答案: K,5
4、以下程序的输出结果是_______ 。

main()
{ int a=177;
printf("%o\n",a);
}参照答案: 261
6、以下程序段的输出结果是 ____________。

﹟ include﹤﹥
void main()
{
int a=0234;
printf ( "%-3d,%-6d,*%-06d,*%06d,%%06d﹨ n",a,a,a,a,a);}参照答案 : 156,*156 ,*000156,%06d
7、使用强迫变换方法将正整数变换成字符。

此题程序以下:
﹟include ﹤﹥
void main()
{
char c; int I;
scanf("%d",&I );
c=( "%c 的 ASCII码为 %d﹨n" ,c,I); }
本程序的履行结果为 ____ 参照答案 : a 的 ASCII码为 97。

相关文档
最新文档