天津理工大学计算机C语言试题
本试卷为天津理工大学计算机C语言试题,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言试题
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、c语言用________表示逻辑"真"值。
( B )
2、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())!='e') printf("*");
( D )
3、以下函数findmax拟实现在数组中查找最大值并作为函数值返回, 但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{
int i,max;
for(i=0;i<n;i++)
{
max=MIN;
if(max<x[i]) max=x[i];
}
return max;
}
造成错误的原因是________。
( A )
4、有以下程序
#include <stdio.h>
main()
{
int a1,a2;
char c1,c2;
scanf("%d%c%c",&a1,&c1,&a2,&c2);
printf(%d,%c,%d,%c,a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出的结果是:12,a,34,b则正确的输入格式是(以下︿代表空格,<cr>代表回车)
( C )
5、若有说明语句"int a[5],*p=a; ",则对数组元素的正确引用是________。
( D )
6、有如下定义
struct person
{
char name[9] ;
int age ;
};
struct person class[10]={" johu" , 17 , "paul" , 19 , "mary" , 18 , "adam" , 16};
根据上述定义,能输出字母 m 的语句是______。
( C )
7、设x、y、t均为int型变量,则执行语句x=y=3; t=++x||++y; 后,y的值为______。
( D )
8、有如下程序段: int*p,a[7]={-5,0,4,2,7,1}; p=a+6; 执行该程序段后,*p的值为________。
( B )
9、在下列字符序列中,合法的标识符是________。
( C )
10、在下列选项中,没有构成死循环的程序是________。
( A )
11、对以下定义的表述中,正确的是________
struct node
{
int num;
char name[10];
}
stud;
( D )
12、下列对整型常量定义的解释中正确的是________。
( C )
13、以下关于结构化程序的说法中,正确的是________。
( C )
14、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
( B )
15、若定义a=3,b=4,执行printf("%d, %d",(a,b),(b,a)); 的输出结果为________。
( B )
16、c语言中数组下标的下限是________。
( C )
17、下列if语句中,不正确的是________。
( C )
18、下面哪个不是关键字?
( A )
19、char a1[]="abc",a2[80]="1234"; 将a1串连接到a2串后面的语句是________。
( A )
20、执行下面程序后,输出结果是()。
main()
{ a=45,b=27,c=0;
c=max(a,b);
printf("%d\n",c);
}
int max(int x,int y)
{ int z;
if(x>y) z=x;
else z=y;
return(z);
}
二、填空题 (共10题,每题2分,共计20分)
1、定义4行3列的整型二维数组a的语句是________。
2、c语言三个循环语句分别while语句、________语句和________语句。
3、以下程序的输出结果是________ 。
main()
{
int a[3][3]=
{{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf("%d\n",s);
}
4、表达式7+10>2 && 25 %5的结果是 ________ 。
5、以下程序的执行结果是____。
#include<stdio.h>
void main()
{
char c='a'+10;
printf("c=%c\n",c);
}
6、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数________。
7、若有以下定义, int m=5,y=2; 则计算表达式y+=y-=m*=y 后y的值是【】。
8、编译预处理包括宏定义、文件包含、( )等。
9、在c语言中,将字符串中大写字母转换成小写字母的函数是______________。
10、以下的程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出。
#include<stdio.h>
void main()
{
int a[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}};
int b[3][4]={{-2,0,1,4} ,{5,-1,7,6},{6,8,0,2}};
int i,j,c[3][4];
for (i=0;i<3;i++)
for (j=0;j<4;j++) c[i][j]= _________;
for (i=0;i<3;i++)
{
for (j=0;j<4;j++) printf("%3d",c[i][j]);
________________;
}
}
三、编程题 (共3题,每题0分,共计40分)
1、编写程序,求s=1+(1+2)+….+(1+2+….+10)
2、编写程序:使用结构体,创建一个长度为n的链表。
3、编写程序,读一个在字母C和X之间的字符,打印出该字母在中间的相邻五个字母。如输入F,则输出DEFGH。
相关标签:
- C语言
- 天津理工大学
- 试题