admin 管理员组文章数量: 887021
2023年12月16日发(作者:java开发资源库)
一、选择题(每小题分,共30分)
1、C语言中,double类型数据占( )个字节.
A)1 B)2
C)4 D)8
2、以下数据中,不正确(de)数值或字符常量是( ).
A) B) 5L
C) o13 D) 9861
3、已知各变量(de)类型定义如下, 则以下不符合C语言语法(de)表达式
是:( ).
int i=8,k,a,b;
double x=1,y=5;
A)k=i++ B)(int)x+
C)y+=x++ D)a=2a=3
4、在以下给出(de)表达式中, 与do....while(E)语句中(de)(E)不等价(de)
表达式是:( ).
A)(E==0) B)(E>0||E<0)
C)(E==0) D)(E=0)
5、已知各变量(de)类型说明如下:则以下不符合C语言语法(de)表达式是( ).
int k, a, b, w=5; float x=;
A) x%(-3) B) w+=-2
C) k=(a=2, b=3, a+b)
a+=a-=(b=4)(a=3)
6、在C语言(de)if语句中,用作判断(de)表达式为( ).
A) 关系表达式 B) 逻辑表达式
C) 算术表达式 D) 任意表达式
7、若有以下定义和语句,则输出结果是( ).
static char s[12]="a book";
printf("%d",strlen(s));
A) 12 B) 8
C) 7 D) 6
8、以下叙述正确(de)是( ).
A) 在C程序中,main函数必须位于程序(de)最前面
B) C程序(de)每一行中只能写一条语句
D)
C) C语言本身没有输入输出语句
D) C程序(de)执行总是从其第一个函数开始
9、由给出(de)数据输入和输出形式,程序中输入输出语句(de)正确内容是( ).
main( )
{ int x; float y;
printf (" enter x, y: ");
输入语句
输出语句 }
输入形式 enter x, y: 2
输出形式 x+y=
A)scanf (" %d, %f ", &x, &y); B) scanf (" %d%f ",
&x, &y);
printf (" nx+y=% ", x+y); printf (" nx+y=% ",
x+y);
C) scanf (" %d%f ", &x, &y); D) scanf (" %d% ",
&x, &y);
printf (" nx+y=% ", x+y); printf (" nx+y=% ",
x+y);
10、在C语言中,为了结束由while语句构成(de)循环,while后一对圆括
号中表达式(de)值应该为( ).
A)0 B)1
C)true D)非0
11、以下字符中,不正确(de)C语言转义字符是( )
A) 't' B) '011'
C) 'n' D) '018'
12、以下说法有错(de)是:( ).
A)字符'0'可以通过赋初值或输入字符串时,由系统自动填加.
B)在C语言中字符数组可以等价于字符串变量.
C)可以利用二维字符数组作为字符串数组.
D)可以把字符型一维数组作为字符串变量.
13、下面程序段(de)运行结果是( ).
x=y=0;
while ( x<15 ) y++, x+=++y;
printf ( " %d, %d ", y, x);
A) 20, 7 B) 6, 12
C) 20, 8 D) 8, 20
14、能满足当x(de)值为偶数时为“真”,为奇数时为“假”(de)表达式是:( ).
A)x%2==0 B)x%2=0
C)(x/22-x)==0 D)(x%2)
15、下列程序(de)输出结果为:( ).
include <>
main()
{int i=0,j=0,a=6;
if((++i>0)||(++j>0))a++;
printf("i=%d,j=%d,a=%dn",i,j,a);
}
A)i=0,j=0,a=6 B)i=1,j=1,a=7
C)i=1,j=0,a=7 D)i=0,j=1,a=7
16、设有以下定义和语句: 则下列语句中对结构体成员不正确(de)
引用是( ).
struct pupil
{ char name[20];
int age;
int sex;
} pup[5], p;
p=pup;
A) scanf("%s", pup[0].name);
&pup[0].age);
C) scanf("%d", &(p->sex));
p->age);
17、以下程序(de)运行结果为( ).
define PT
define S(x) PTxx
main()
B) scanf("%d",
D) scanf("%d",
{int a=1, b=2;
printf("% n",S(a+b));
}
A) B)
C) D)
18、下面程序(de)输出是( ).
main()
{char s="wbckaaakcbw";
int a=0, b=0, c=0, x=0, k; for(;s; s++)
switch(s)
{ case 'c' : c++;
case 'b' : b++;
default : a++;
case 'a' : x++;
}
printf("a=%d,b=%d, c=%d, x=%dn", a, b, c,
x);
}
A) a=8, b=4, c=2, x=11 B) a=4, b=2, c=2, x=3
C) a=8, b=4, c=2, x=3 D) a=4, b=4, c=2, x=3
19、若有下列定义,则对a数组元素地址(de)正确引用是( )
int a[5],p=a;
A) &a[5] B) p+2
C) a++ D) &a
20、若有定义:int a[4][10];则以下选项中对数组元素a[i][j](de)错误
引用是:( ).(此处0<=i<4,0<=j<10)
A)(&a[0][0]+10i+j)
B)(a+i)[j]
C)((a+i)+j)
D)(a[i]+j)
二、填空题(每空2分,共10分)
若有以下a数组,数组元素和它们(de)值如下所示:
数组元素:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]
元素中(de)值:9 4 12 8 2 10 7 5 1 3
(1) 该数组中数组可用(de)最小下标值是( );最大下标值
是( ).
(2) 该数组中下标最小(de)元素名字是( );
(3) 该数组(de)元素中,数值最小(de)元素(de)下标值是( );
(4) 对该数组进行定义并赋以上初值(de)语句是( ) .
三、阅读程序题(每小题10分,共30分)
1、执行以下(de)程序段后,a=( ), b=( ), c=( ).
int x=10, y=9; int a, b, c;
a=( x--==y++) x-- : y++;
b=x++; c=y;
2、下面程序(de)运行结果是 ( ).
main( )
{int i,j;
for(i=0; i<=3; i++ )
{for(j=0; j<=5; j++ )
{if ( i==0 || j==0 || i==3 || j==5 ) printf
( "" );
else printf ( " " ); }
printf ( " n"); } }
3、下列程序(de)输出结果是( )
int i=8,j=9;float x=;
printf("i=%%d j=%%dn",i,j);
四、编程题(每小题10分,共30分)
1、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,......,编程
计算该序列(de)前20项之和.
2、已知A(3行4列)、B(4行4列)矩阵,求C=AB(3行4列)矩阵.
3、现有n个数据,编程实现按下列方式排列.
┌─┬─┬─┬─┬─┬─┬─┬─┬─┐
│96│78│54│32│15│28│43│65│88│
└─┴─┴─┴─┴─┴─┴─┴─┴─┘
(以9个数据为例:输入数据为:78 65 54 32 28 96 43
88 15
输出数据为:96 78 54 32 15 28 43 65
88
即:最大(de)数放第一位,第二大(de)数放最后,第三大(de)数放在第一大数(de)右边,第四大数放在第二大数(de)左边,依次类推.
要求:数据(de)输入和输出在主函数内完成,数据(de)排列在子函数内完成,且必须用指针实现.)
版权声明:本文标题:C语言测试题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702715289h427847.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论