黑龙江中医药大学2022年计算机C语言样卷
本试卷为黑龙江中医药大学2022年计算机C语言样卷,题目包括:填空题。
本卷包括如下题型:
计算机C语言样卷
一、填空题 (共40题,每题2.5分,共计100分)
1、设p=30,那么执行q=(++p)后,表达式的结果q为 ________ ,变量p的结果为 ________ 。 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 ________ 。
2、有以下程序
main()
{
char c;
while((c=getchar())!='?') putchar( --c );
}
程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为 ________ 。
3、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。
4、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]的值为________,a[2][1]得到的值为________。
5、下面程序的运行结果是:________。
fun(int t[],int n)
{
int i,m;
if(n==1)return t[0];
else if(n>=2)
{
m=fun(t,n-1);
return m;
}
}
main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
}
6、以下程序的输出结果是 ________ 。
main()
{
int a=0 a+=(a=8);
printf("%d\n",a);
}
7、以下程序中函数f的功能是在数值x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
void f(int x[], int n)
{
int p0,p1,i,j,t,m;
i=j=x[0];
p0=p1=0;
for(m=0;m<n;m++)
{
if (x[m]>i)
{
i=x[m];
p0=m;
}
else if(x[m]<j)
{
j=x[m];
p1=m;
}
}
t=x[p0];
x[p0]=x[n-1];
x[n-1]=1;
t=x[p1];
x[p1]=[14] ;
[15] =t;
}
main()
{
int a[10],u;
for(u=0;u<10;u++) scanf(*%d,&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("\n");
}
8、以下程序的输出结果是 ________。
#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);
}
9、有一输入函数scanf("%d",k);
则不能使用float变量k得到正确数值的原因是__________和____________。scanf语句的正确形式应该是:_____________。
10、已有定义int a; floatb,x; char c1,c2; 为使a=3,b=6.5,x=12.6,c1=’a’,c2=’a’正确的函数调用语句是______________,输入数据的方式是_________________。
11、c语言约定用____________作为字符串的结束标志。
12、表达式10/3*9%10/2的值是________。
13、编译预处理包括宏定义、______、条件编译等。
14、执行下列程序段后,输出的a的值是_____________。
main( )
{
int m = 0;
switch(m)
{
case 0: m=2*m+1;
break;
case 1: m=m-1;
break;
case 2: m=m+5;
break
}
printf("%d",m);
}
15、下列程序段的运行结果是_____。
struct student
{
long num;
char name[20];
char sex;
float score;
}
a={1021103,"jiang ping",'m',85.5};
main( )
{
printf("%.2f\n",a.score);
}
16、下列程序段的运行结果是_____。 char s1[20]="abcdef", s2[5]="abc"; strcpy(s1,s2); printf("%c", s1[0]);
17、已知t=5,则表达式"t-=t+=3"的值是______。
18、八进制数37转换成二进制数是________ 。
19、在c语言中,假使x为长整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。
20、定义枚举类型时采用的关键字是________。
21、局部变量又称内部变量,是在函数( )定义的变量。
22、执行下列的程序段后,正确的结果是_____________。
int i=5;
while( i = 1)i -- ;
printf("%d", i );
23、语句只能用在循环中,该语句的作用是结束本层本次循环,继续一下次循环,前不跳出循环。
24、将arr传参到子函数,接受处()内函数定义该怎么写?
25、函数实参的传递分为
26、访问变量的方式有 ______ 和 _______
27、在c 语言中的实型变量分为两种类型,它们是________和________。
28、当运行以下程序时,从键盘输入1 2 3 4 5 -1<cr>, 则下面程序的运行结果是________。
#include <stdio.h>
main()
{
int k = 0, n;
do
{
scanf("%d", &n);
k += n;
}
while (n != -1);
printf("k=%d n=%d\n", k, n);
}
29、下面程序的功能是求出用数字0 至9 可以组成多少个不重复的三位偶数。请分析程序填空。
#include<stdio.h>
main()
{
int n=0,i,j,k;
for(i=1;i<=9;i++)
for(k=0;k<=8; 【1】________)
if(k!=i)for(j=0;j<=9;j++)
if( 【2】________) n++;
printf("n=%d\n",n);
}
30、下面程序的运行结果是________。
main()
{
int a[5][5],i,j,n=1;
for(i=0;i<5;i++)for(j=0;j<5;j++)a[i][j]=n++;
printf("the result is:\n");
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)printf("%4d",a[i][j]);
printf("\n");
}
}
31、下面程序的功能是生成并打印某数列的前20 项,该数列第1,2项分别为0 和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20 个数存在一维数组x 中,并按每行4 项的形式输出。
main()
{
int x[21],i,j;
x[0]=0;
x[2]=1;
i=3;
do
{
x[i]= 【1】________;
x[i+1]= 【2】________;
i= 【3】________;
}
while (i<=20);
for (i=1;i<=20;i++)
{
printf("%5d",x[i]);
if (i%4==0)printf("\n");
}
}
32、c 语言规定,可执行程序的开始执行点是________。
33、函数yahui 能够按以下形式构成一个杨辉三角形,请填空。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1⋯⋯⋯ ..
#define N 11
Yahui(int [][N])
{
int i,j;
for(i=1;i<N;i++)
{
a[i][1]=1;
a[i][i]=1;
}
for(【1】________;i<N;i++)
for(j=2; 【2】________;j++)
a[i][j]= 【3】________+a[i-1][j];
}
34、当从键盘输入-1 0<cr>, 则以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a,b,m,n;
m=n=1;
scanf("%d%d",&a,&b);
do
{
if(a>0)
{
m=2*n;
b++;
}
else
{
n=m+n;
a+=2;
b++;
}
}
while(a==b);
printf("m=%d n=%d\n",m,n);
}
35、以下程序的输出结果是 ________ 。
#include <stdio.h>
main()
{
int k=1,s=0;
do
{
if((k%2)!=0) continue;
s+=k;
k++;
}
while(k>10);
printf("s=%d\n",s);
}
36、以下程序的运行结果是_____________。
main( )
{
int k, s ,a[3][3]={1,2,3,4,5,6,7,8,9};
s=0;
for( k=0; k<3; k++)s=s+ a[k][k];
printf("%d,",s);
}
37、以下程序的运行结果是________。
#include <stdio.h>
main()
{
int x, y = -2, z = 0;
if ((z = y) < 0) x = 4;
else if (y == 0) x = 5;
else x = 6;
printf("\t%d\t%d\n", x, z);
if (z = (y == 0)) x = 5;
x = 4;
printf("\t%d\t%d\n", x, z);
if (x = z = y) x = 4;
printf("\t%d\t%d\n", x, z);
}
38、设有以下程序:
main()
{
int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{
n1=n2 ;
n2=n2/10;
printf("%d ",n1);
}
}
程序运行后,如果从键盘上输入1298;
则输出结果为________。
39、下列给定程序中,函数proc()的功能是计算正整数m 各位上数字的平方和。 例如,输入498,则输出应该是161。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h> long proc(10ng m)
{
long sum=1;
do
{
sum+=(m%10)*(m%10);
m/= 10;
}
while(m)
return(sum);
}
void main()
{
long n;
system("cls");
printf("please enter a number:");
scanf("%1d",&n);
printf("\n%ld\n",proc(n));
}
40、构成数组的各个元素必须具有相同的______。
相关标签:
- C语言
- 黑龙江中医药大学
- 样卷