湖北文理学院往年计算机C语言期末复习题
本试卷为湖北文理学院往年计算机C语言期末复习题,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言期末复习题
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、c语言中,合法的字符型常数是________。
( C )
2、以下程序的输出结果是________。
#include <stdio.h>
main( )
{
int count,i=0;
for(count=1; count<=4; count++)
{
i+=2;
printf("%d",i);
}
}
( B )
3、下列定义数组的语句中,正确的是________。
( B )
4、有以下程序
#include <stdio.h>
struct ord
{
int x ,y;
}
dt[2]= {1,2,3,4 };
main()
{
struct ord *p=dt;
printf("%d,",++p->x);
printf("%d\n",++p->y);
}
程序的运行结果是________。
( A )
5、如果int a=3,b=4; 则条件表达式"a<b? a:b"的值是___。
( C )
6、下面各语句行中,能正确进行字符串赋值操作的语句是______。
( B )
7、设有如下定义:
struct sk
{
int a ;
float b ;
}
data , *p ;
若有 p=&data ;
, 则对 data 中的 a 域的正确引用是______。
( D )
8、下面程序段的运行结果是 _____________.
for(i=1;i<=5;)
printf("%d",i);
i++;
( D )
9、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
( C )
10、以下程序的输出结果是________。
#include <stdio.h>
void swap(int*a, int *b)
{
int*t;
t=a;
a=b;
b=t;
}
main()
{
int i=3, j=5, *p=&i, *q=&j;
swap(p, q);
printf(1%d %d , *p, *q);
}
( A )
11、以下选项中可作为c语言合法常量的是________。
( B )
12、在下列的标识符中,错误的是________。
( C )
13、有以下程序
main() {
int i;
for(i=0;i<3;i++)
switch(i) {
case 0: prinft("%d",i);
case 2: prinft("%d",i);
default:prinft("%d",i);
}
}
程序运行后的输出结果是________。
( A )
14、有以下程序
#include<string.h>
main()
{
char p[]={'a','b','c'},q[10]={'a','b','c'};
printf("%d%d\n",strlen(p),strlen(q));
}
以下叙述中正确的是________。
( B )
15、以下if语句书写正确的是________。
( A )
16、有以下程序
#include <stdio.h>
main()
{
int a=2,b=3,c=4;
a*=16 +(b++) - (++c);
printf("%d \n",a );
}
程序运行后的输出结果是________。
( D )
17、以下程序的输出结果是______。
struct har
{
int x,y;
struct har *p;
}
h[2];
main()
{
h[0].x=1;
h[0].y=2;
h[1].x=3;
h[1].y=4;
h[0].p=&h[1];
h[1].p=h;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);
}
( C )
18、若有定义: char str1[10] = "aaaaaaa"; char str2[10] = "bbbbb"; 将字符串str2连接到str1,则下列描述中正确的是________。
( A )
19、以下选项中不合法的标识是________。
( D )
20、下列叙述中正确的是________。
二、填空题 (共10题,每题2分,共计20分)
1、在c语言中,正确的标识符是由 ________ 组成的,且由 ________ 开头的。
2、下面程序的输出结果是________。
int x=-32769;
printf("%d",x);
3、有定义char str[]={‘d’,’o’,’g’,’\0’};
若执行puts(str);
则输出结果为________。
4、仅由顺序、选择(分支)和重复(循环)结构构成的程序是________程序。
5、执行以下程序的输出结果是________ 。
#include <stdion.h>
main()
{
int i, n[4]={1};
for(i=1;i<=3;i++)
{
n[i]=n[i-1]*2+1;
printf("%d", n[i]);
}
}
6、字符读写函数____________是用于从磁盘文件中读出一个字符。
7、表达式10/3*9%10/2的值是________。
8、双精度型数据有效位为______位
9、下面程序的运行结果是________。
#include <stdio.h>
main()
{
int a, b, i;
a = 1;
b = 3;
i = 1;
do
{
printf("%d,%d,", a, b);
a = (b - a) * 2 + b;
b = (a - b) * 2 + a;
if (i++ % 2 == 0) printf("\n");
}
while (b < 100);
}
10、在c 语言中,一个函数一般由两个部分组成,它们是【1】和【2】。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:输出fibonacci序列的前10个数,前两项键盘输入
2、题⽬描述 输⼊⼀组学⽣的成绩,按照成绩降序输出成绩表。如有相同成绩,较⼩的学号排位靠前 输⼊ 输⼊格式为每⾏两个数值,学号N为10位数字,成绩S取值为整数(0≤S≤100)读取输⼊直到输⼊结束(数据总量不超过50⾏,且不会出现重复的学号) 输出 输出格式为每⾏两个数值,学号N之后有⼀个空格,成绩值的输出宽度占3个位置 样例输⼊ 20####0405 78 20####0426 80 20####0402 61 20####0377 95 20####0427 80 样例输出 20####0377 95 20####0426 80 20####0427 80 20####0405 78 20####0402 61
3、输入一行字符,将所有的小写字母转换成大写字母,
相关标签:
- C语言
- 湖北文理学院
- 期末复习题