新疆师范大学C语言试题

本试卷为新疆师范大学C语言试题,题目包括:填空题。

本卷包括如下题型:

一、填空题

C语言试题

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

1、若a和b 均为int 型变量,则以下语句的功能是________。 a+=b; b=a-b; a-=b;
2、表示"整数x的绝对值大于3"时值为"真"的c语言表达式是 ________。
3、在c语言中,格式输入库函数为________,格式输出库函数为________。
4、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。
5、c语言程序的三种基本结构是顺序结构、选择结构和________。
6、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
7、以下程序运行后的输出结果是 ________ 。
main()
{
int x=0210;
printf("%x\n",x);
}
8、以下程序运行后的输出结果是 ________ 。
char *ss(char *s)
{
char *p, t;
p=s+1;
t=*s;
while(*p)
{
*(p-1) = *p;
p++;
}
*(p-1)=t;
return s;
}
main()
{
char *p, str[10]="abcdefgh";
p = ss(str) ;
printf("%s\n",p);
}
9、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: a b c d e f g h i j k l m n o 请填空完成该程序。
main()
{
int i,j,n;
char ch=′a′;
scanf("%d",&n);
if(n<11)
{
for(i=1;i<=n;i++)
{
for(j=1; j<=n-i+1;j++)
{
printf("%2c",ch);
________;
}
________;
}
}
else printf("n is too large!\n") printf("\n");
}
10、mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char *str)
{
int i;
for(i=0; ________!=‘\0';i++);
return( ________);
}
11、以下程序的输出结果是______ 。
#include <stdio.h>
main()
{
int i;
for(i=a;j<f;i++,i++) printf("%c",i-‘a’+’a’);
printf("\n");
}
12、请将下列程序中的函数声明语句补充完整。
#include <stdio.h>
int ________ ;
main()
{
int x,y,(*p)();
scanf("%d%d",&x,&y);
p=max;
printf("%d\n",(*p)(x,y));
}
int max(int a,int b)
{
return(a>b?a:b);
}
13、在c语言中,用转义字符 \' 表示______________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
14、全局变量又称外部变量,是在函数______定义的变量。
15、语句主要是实现次数循环结构,while语句主要是实现当型循环结构。
16、设a=3,b=2,c=1,则a>b>c的值为________。
17、实型常量有两种表示方法:小数形式和【1】形式。
18、以下函数值的类型是【1】。
fun (float x)
{
float y;
y= 3*x-4;
return y;
}
19、已知t=5,则表达式"t-=t+=3"的值是______。
20、下列程序段的运行结果是_____。intb=20,*q;
q=&b; printf("%d",*q);
21、以下程序的输出结果是________。
main()
{
int x;
printf("%d\n",(x=2*4,x+5));
}
22、执行下列程序段后,输出的a的值是________。
main()
{
int a = 1;
switch(a)
{
case 0: a--;
break;
case 1: a++;
break;
case 2: a=a+5;
break
}
printf("%d",a);
}
23、已知char str[]="student",则strlen(str)的值为________。
24、下列程序段的运行结果是________。
char a='m' ,*p ;
p=&a;
printf("%c",*p);
25、下列程序段的运行结果是________。
main()
{
int a=5,b=6,c;
int sub(int , int);
c=sub(a , b);
printf("%d\n",c);
}
int sub( int x , int y )
{
int z;
z=x-y;
return z ;
}
26、以下程序运行的结果为()
#include <stdio.h>
int d = 1;
fun(int p)
{
int d = 5;
d += p++;
printf( "%d,", d);
}
void main()
{
int a = 3;
fun(a);
d += a++;
printf( "%d\n", d);
}
27、若要定义一个单精度实型变量f,则应该使用的定义语句为________。
28、c语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用________函数来实现。
29、输入求数组有几个元素的语句(arr,size)
30、用c语言编写的源程序文件的扩展名为"( )"。
31、在一个c 源程序中, 注释部分两侧的分界符分别为___和____。
32、设c 语言中,一个int 型数据在内存中占2 各字节,则int型数据的取值范围为________。
33、若有定义: int a[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2] 得到的初值是【1】, a[2][1] 得到的初值是【2】。
34、下面程序的运行结果是________。
main()
{
int i,f[10];
f[0]=f[1]=1;
for(i=2;i<10;i++)f[i]=f[i-2]+f[i-1];
for(i=0;i<10;i++)
{
if(i%4==0) printf("\n");
printf("%3d",f[i]);
}
}
35、鸡兔同笼,头30,脚90,下面程序段计算鸡兔各有多少只。请分析程序填空。for(x=1;x<=30;x++ )
{
y=30-x;
if( 【1】________) printf("%d,%d",x,y);
}
36、请补充main()函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入"abcdefg",指定字符为"d",则输出"abe"。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序:
#define M 80
void main()
{
int i=0;
char str[M];
char ch;
system("CLS");
printf("\n Input a strin9:\n");
gets(str);
printf("\n Input a charator;\n");
scanf("%c",&ch);
while(str[i]!='\0')
{
if(str[i]==ch) ________ ________ ;
}
str[i]= ________ ;
printf("\n***display string***\n");
puts(str);
}
37、#include <stdio.h>
void main()
{
int num[10]={1,0,0,0,0,0,0,0,0,0};
int i,j;
for (j=0;j<10;++j)
for (i=0;i<j;++i) num[j]=num[j]+num[i];
for (j=0;j<10;j++) printf("%d ",num[j]);
}
38、C 语言对数组下标的引用一般从______开始。
39、函数的形参在未被调用前不分配空间,函数形参的____要和实参相同。
40、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为______。