新疆财经大学2023年C语言专升本

本试卷为新疆财经大学2023年C语言专升本,题目包括:填空题。

本卷包括如下题型:

一、填空题

C语言专升本

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

1、求主次对角线之和。
main()
{
static int a[ ][3]={9,7,5,1,2,4,6,8};
int i,j,s1=0,s2=0;
for(i=0;i<3;i++) for(j=0;j<3;j++)
{
if( ________ ) s1=s1+a[i][j];
if( ________ ) s2=s2+a[i][j];
}
printf("%d\n%d\n",s1,s2);
}
2、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入请填空________。
main()
{
float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( ________ )
{
if(x>amax) amax=x;
if( ________ ) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
3、c语言提供的三种逻辑运算符是________、________、________。
4、c语言程序的基本单位是________。
5、设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为________。
6、有以下语句段 int n1=10,n2=20;
printf(" ________",n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20
7、执行以下程序时输入1234567<cr>,则输出结果是____ 。
#include <stdio.h>
main()
{
int a=1,b;
scanf("%2d%2d",&a,&b);
printf("%d %d\n",a,b)
}
8、有以下程序
#include <stdio.h>
typedef struct
{
int num;
double s;
}
rec;
void fun1(rec x)
{
x.num=23;
x.s=88.5;
}
main()
{
rec a={16,90.0};
fun1(a);
printf("%d\n",a.num);
}
程序运行后的输出结果是 ________。
9、以下程序的输出结果是 ________。
#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("%d %d\n",*p,*q);
}
10、字符串函数________用于从指定的磁盘文件中读出一个字符串。
11、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
12、在c语言中除了使用c提供的标准类型名(如int、char等)外,还可以用_________声明新的类型名来代替已有的类型名。
13、若i为整型变量,且i%2==0的值为1,则变量i为________数。
14、在c语言中,标识符是由英文字母、数字、________组成的。
15、在vc++编译环境下,c语言基本整型变量所占字节数是____。
16、在c语言中,假使x为基本整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。
17、在c语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。
18、局部变量的作用域是从______的位置起,到函数结束止。
19、编译预处理包括宏定义、______、条件编译等。
20、宏定义必须写在______之外
21、下列程序段的运行结果是________。
int a=2 ,*p ;
p=&a;
printf("%d",*p);
22、下列程序段的运行结果是________。
int a[5]={10,20,30,40,50}
,*p;
p=a;
printf("%d", *(p=p+3) ) ;
23、设int a=5,b=6;
则表达式(++a==b--)?++a:--b的值是________。
24、下面程序段的运行结果是________。for(a=1,i=-1;-1<=i<1;i++)
{
a++;
printf("%d,",a);
}
printf("%2d",i);
25、以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。
#include <stdio.h>
main()
{
int a[10],*p,*s;
for(p=a;p-a<10;p++) scanf("%d",p);
for(p=a,s=a;p-a<10;p++) if(*p>*s) s=________;
printf("index=%d\n",s-a);
}
26、在c语言中,用转义字符 \t 表示________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
27、在c语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其他元素值均为________。
28、下列程序段的运行结果是________。
void fun()
{
int a=3;
}
main()
{
int a=1;
fun(- );
printf("a=%d",a);
}
29、以下程序运行后的输出结果是________。
main()
{
char s[ ]="gfedcba";
int p=6;
while(s[p]!=‘d’)
{
printf("%c ", p);
p=p-1;
}
}
30、若定义了int a[10],将数组元素中最后一个元素"赋值为10"语句是________。
31、下面程序的功能是:输出100以内能被3整除且个位数为6的 所有整数,请填空。
32、C语言替换字符的函数是什么?
33、函数实参的传递分为
34、下面程序的功能是求1111的个、十、百位上的数字之和。请分析程序填空。
#include<stdio.h>
main()
{
int i,s=1,m=0;
for(i=1;i<=11;i++) s=s*11%1000;
do
{
m+= 【1】________;
s=【2】________;
}
while(s);
printf("m=%d\n",m);
}
35、下面程序的功能是计算1-3+5-7+...-99+101 的值,请分析程序填空。
#include<stdio.h>
main()
{
int i,t=1,s=0;
for(i=1;i<=101;i+=2)
{
【1】________;
s=s+t;
【2】________;
}
printf("%d\n",s);
}
36、下列给定程序中,函数proc()的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ascii码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
int proc(char str[])
{
char c;
unsigned i,j;
for(i=0;i<strlen(str)-1;i++)
for(j=i+1;j<strlen(str);j++)
if(str[i]>str[j])
{
c=str[j];
str[j]=str[i++];
str[i]=c;
}
}
void main()
{
char str[81];
system("cls");
printf("\nplease enter a character string:");
gets(str);
printf("\n\nbefore sorting:\n%s",str);
proc(str);
printf("\nafter sorting decendingly:\n %s",str);
}
37、请阅读下面的程序,当用户从键盘输入hello world时,分析程序是否能编绎通过并正确运行,如果不能,说明原因;
如果能,请写出运行结果。
void main()
{
char str[256];
scanf( );
printf( );
}
hello
38、C语言源程序经过连接后,生成文件的后缀名是______。
39、函数strlen("1234\0xy")的值为:______。
40、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。