河南工业大学C语言程序设计专升本
本试卷为河南工业大学C语言程序设计专升本,题目包括:填空题。
本卷包括如下题型:
C语言程序设计专升本
一、填空题 (共40题,每题2.5分,共计100分)
1、表达式5%(-3)的值是________,表达式-5%(-3)的值是________。
2、表达式a=3*5,a*4的值是________。
3、函数的返回值是通过函数的________语句获得的。
4、以下程序运行后的输出结果是________。
#include<stdio.h>
main() {
int a=200,b=010;
printf("%d%d\n",a,b);
}
5、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。
#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=p;
printf("max=%d\n",________);
}
6、以下函数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++;
}
}
7、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
8、以下程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并做为函数值返回。请填空:
#include<stdio.h>
#define N 3
typedef struct
{
int num;
char nam[10];
char sex;
}
SS;
int fun(SS person[])
{
int i,n=0;
for(i=0;i<N;i++) if( ________==’M’ ) n++;
return n;
}
main()
{
SS W[N]={{1,"AA",’F’},{2,"BB",’M’},{3,"CC",’M’}};
int n;
n=fun(W);
printf("n=%d\n",n);
}
9、字符读写函数____________是用于从磁盘文件中读出一个字符。
10、一个c程序总是从_____________函数开始执行的。
11、数组 int a[3][3]; 共定义了 ________ 个数组元素。
12、下面程序段的运行结果是________.
int i=1,s=3;
do
{
s+=i++;
if(s%7==0)continue;
else ++i;
}
while(s<15);
printf("%d",i);
13、设有"int x=2,y"说明,则逗号表达式"y=x+5,x+y"的值是________。
14、结构化程序设计的3种基本结构是:( )结构、选择结构、循环结构,这三种基本结构构成了复杂的c语言程序。
15、在c语言中,从参数的形式看,函数可以分为两类:无参函数和( )函数。
16、若有"int a[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。
17、下列程序段的运行结果是________。
void sun()
{
int b=5;
}
main()
{
int b=1;
sun();
printf("b=%d",b);
}
18、语句putchar('a'+2);的输出结果是________。
19、如果一个变量要在一个程序中的所有函数都能共享,则应该定义成为________。
20、开发一个c程序要经过编辑、编译、()和运行4个步骤、
21、以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。
#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);
}
22、编译预处理包括( )、文件包含、条件编译等。
23、#include <stdio.h>
void main()
{
char str[][10]={"mon","tue","wed","thu","fri","sat","sun"};
int n=0,i ;
for(i=0;i<7;i++)if(str[i][0]== 't') n++;
printf("%d\n",n);
}
24、在c语言中,将字符串中大写字母转换成小写字母的函数是______________。
25、以下程序的运行结果是_____________。
main( )
{
int k, a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
for( k=0;k<4;k ++)printf("%d,",a[k][k]);
}
26、用c语言编写的源程序文件的扩展名为"( )"。
27、下面函数func 的功能是________。
#include<math.h>
long func(long num)
{
long k=1;
num=labs(num);
do
{
k*=num%10;
num/=10;
}
while(num);
return k;
}
main()
{
long n;
printf("\nplease enter a number:");
scanf("%ld",&n);
printf("\nthe product of its digits is %ld.",func(n));
}
28、以下程序的运行结果是【1】________,其算法是【2】________。
main()
{
int a[5]={9,6,8,3,-1},i,j,t,p;
sort(a);
for (i=0;i<=4;i++)printf("%3d",a[i]);
}
sort(int a[])
{
int i,j,t,p;
for (j=0;j<4;j++)
{
p=j;
for (i=j;i<=4;i++)if(a[i]<a[p]) p=i;
t=a[p];
a[p]=a[j];
a[j]=t;
}
}
29、下面的程序是用do while 语句求1 至1000 之间满足―用3 除余2;
用5 除余3;
用7 除余2" 的数,且一行只打印五个数。请分析程序填空。
#include<stdio.h>
main()
{
int i=1,j=0;
do
{
if( 【1】________)
{
printf("%4d",i);
j=j+1;
if( 【2】________) printf("\n");
}
i=i+1;
}
while(i<1000);
}
30、float f=3.1415927;
printf("%f,%5.4f,%3.3f",f,f,f);
则程序的输出结果是________。
31、改正下列程序中不正确的语句。
main( )
{
int a;
scanf("%d", a);
if (a = 1) printf("one\n") ;
}
32、下列给定程序中,函数proc()的功能是找出100~m(m 不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#define M 1000 int proc(int*S.int n)
{
int i,j,k,a,b,c;
j=0;
for(i=100;i<N;I++)
{
k=n;
a=k%10;
k/=10;
b=k%10;
c=k/10;
if(a==b+c) s[j]=i;
}
return j;
}
void main()
{
int a[M],m,num=0,i;
do
{
printf("\nEnter m(<=1000):");
scanf("%d",&m);
}
while(m>1000);
num=proc(a,m);
printf("\n\nThe result:\n");
for(i=0;i<NUM;I++) printf("%5d",a[i]);
printf("\n\n");
}
33、#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]);
}
34、数学表达式a<b<=c改写为c语言表达式是__________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
35、下面程序的输出结果是:
#include <stdio.h>
void add(int *p, int n)
{
int *pend = p + n;
for( ; p<pend; p++) *p += 10;
}
void main( )
{
int a[5]={1,2,3,4,5}, *q = a;
add(q, 5);
for(q=a; q < a+5; q++) printf("%4d", *q);
}
36、语言的函数体一般由____和____构成
37、定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为______。
38、函数体用{开始,用____结束。
39、如果一个函数无返回值,定义它时函数类型应是______。
40、若有定义:double x[3][5];则数组中列下标的上限为_____ 。
相关标签:
- C语言
- 河南工业大学
- 专升本