河南中医药大学计算机C语言题库

本试卷为河南中医药大学计算机C语言题库,题目包括:填空题。

本卷包括如下题型:

一、填空题

计算机C语言题库

一、填空题 (共40题,每题2.5分,共计100分)

1、在c语言中,正确的标识符是由 ________ 组成的,且由 ________ 开头的。
2、表示"整数x的绝对值大于3"时值为"真"的c语言表达式是 ________。
3、在c语言中,格式输入库函数为________,格式输出库函数为________。
4、有以下程序
#include<stdio.h>
main() {
int i,n[]={0,0,0,0,0};
for (i=1;i<=4;i++)
{
n[i]=n[i-1]*3+1;
printf("%d ",n[i]);
}
}
程序运行后的输出结果是________。
5、以下函数sstrcat( )的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。
void sstrcat(char *s, char *t)
{
int n;
n= strlen(s);
while (*(s+n)= ________ )
{
s++;
t++;
}
}
6、有以下程序
#include <stdio.h>
#include <string.h>
void fun(char*str)
{
char temp;
int n,i;
n=strlen(str);
temp=str[n-1];
for(i=n-1;i>0;i--) str[i]=str[i-1];
str[0]=temp;
}
main()
{
char s[50];
scanf("%s",s);
fun(s);
printf("%s\n",s);
}
程序运行后输入:abcdef<回车>,则输出结果是________。
7、以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。
#define N 3
#define M 3 select(int a[N][M],int *n)
{
int i,j,row=1,colum=1;
for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[i][j]>a[row][colum])
{
row=i;
colum=j;
}
*n= ________;
return ________;
}
main()
{
int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf("max=%d,line=%d\n",max,n);
}
8、若有定义:int k;,以下程序段的输出结果是 ________。
for(k=2;k<6;k++,k++) printf("##%d",k);
9、字符读写函数____________是用于从磁盘文件中读出一个字符。
10、设有"int x=2,y"说明,则逗号表达式"y=x+5,x+y"的值是________。
11、以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{
while(*s++= ________);
}
main( )
{
char str1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
12、在c语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为_______。
13、在c语言中,每个变量都具有存储类别属性。存储类别是指数据在内存中存储的方法。并且存储方法分为_______类。
14、在c语言中,关系运算符中的"等于"表示为________。
15、在vc++编译环境下,c语言基本整型变量所占字节数是____。
16、下列程序段的运行结果是_____。#define MAX(x , y) x>y? x : y
main( )
{
int a , b , max;
A=5, b=6;
Max=MAX(a,b);
printf("max=%d\n",max);
}
17、设有如下的类型说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+5)=_____。
18、c允许用一种特殊形式的字符常量,就是以字符\开头的字符序列,称为________。
19、程序的结果是:
#include<stdio.h>
void main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d",x);
}
20、结构化程序设计的3种基本结构是:( )结构、选择结构、循环结构,这三种基本结构构成了复杂的c语言程序。
21、单精度型数据有效位为( )位。
22、以下程序的输出结果是________。
main()
{
int x;
printf("%d\n",(x=2*4,x+5));
}
23、若有"int a[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。
24、若a 是int 型变量, 则表达式( a=4*5,a*2 ),a+6 的值为【】。
25、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int y=2,a=1;
while(y--!=-1)
{
do
{
a*=y;
a++;
}
while(y--);
}
printf("%d,%d",a,y);
}
26、已知"float x=0.5;int y=13;",则算术表达式"x+y/5"的值是________。
27、双精度型数据有效位为______位
28、若定义了int a[10],将数组元素中最后一个元素"赋值为10"语句是________。
29、若有如下结构体说明:
struct stru
{
int a, b;
char c;
double d;
};
现在定义t数组,要求t数组的每个元素为该结构体类型,请填空:________stru t[20];
30、c语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用________函数来实现。
31、%d怎么实现(两位数)左右对齐
32、int a,b;与a*=5-b;等价的赋值语句是________。
33、从文件读入一行,读取字符包括空格,使用函数________。
34、在c 语言中,二维数组在内存中的存放顺序是________。
35、下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;
再把第4个字符插入前三个字符中,待排序的字符串已 在主函数中赋予。 请添加合适的语句____________,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#define M 80
void proc(char*arr)
{
int i,j,n;
char ch;
n=strlen(arr);
for(i=1;i<n;i++)
{
ch=arr[i];
j=i-1;
while(______________)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=ch;
}
}
void main()
{
char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";
printf("The original string:%s\n",a);
proc(a);
printf("The string after sortin9: %s\n\n",a);
}
36、以下程序在输入5,2之后的执行结果是________。
#include<stdio.h>
void 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+t;
else if(a==b) t=5;
else t=2*s;
printf("s=%d,t=%d\n",s,t);
}
37、请阅读并分析以下程序,该程序的输出结果是:
#include <stdio.h>
main( )
{
int n[3][3], i, j;
for(i=0;i<3;i++ )
for(j=0;j<3;j++ )n[i][j]=i+j;
for(i=0;i<2;i++ )
for(j=0;j<2;j++ )n[i+1][j+1]+=n[i][j];
printf("%d\n", n[i][j]);
}
38、C 语言中,一个函数一般由两个部分组成,它们是______和函数体。
39、在C语言中,以______作为字符串结束标志。
40、break语句通常用于______中。