西安美术学院计算机C语言冲刺卷
本试卷为西安美术学院计算机C语言冲刺卷,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言冲刺卷
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、在嵌套使用if语句时,c语言规定else总是________。
( B )
2、有以下程序
main()
{
int s=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是________。
( D )
3、有以下程序
#include <stdio.h>
struct tt
{
int x;
struct tt*y;
}
*p;
struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};
main()
{
int i;
p=a;
for(i=1;i<=2,i++)
{
printf("%d,",p->x);
p=p->y;
}
}
程序的运行结果是________。
( D )
4、在下列选项中 , 不正确的赋值语句是 __________.
( A )
5、一个c程序由函数a( ),b( ),c( )和函数p( )构成,在函数a( )中分别调用了函数b( )和函数c ( ),在函数b( )中调用了函数a( ),且在函数p( )中也调用了函数a( ),则可以说
( A )
6、以下选项中,不合法的整型常数是________。
( A )
7、下列选项中不属于c语言的数据类型是________。
( B )
8、以下选项中与if(a==1)a++; else a=b; 语句功能不同的语句是________。
( A )
9、以下程序的运行结果是
#include"stdio.h"
main()
{
struct date {
int year, month, day ;
} today;
printf("%d\n",sizeof(struct date));
}
( C )
10、下列关于c语言字符数组描述正确的是________。
( C )
11、下面程序段的运行结果是________。 char * format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
( D )
12、下列关于表达式的描述中,错误的是________。
( B )
13、数组a[10]的下标从( )开始。
( D )
14、有以下程序:
main()
{
int x=10,y;
if(x<20) y=100;
if(x>4) y=55/x;
else y=10;
printf("%d\n",y);
}
则输出结果是________。
( D )
15、假设a和b为int型变量,则执行以下语句后b的值为___________。
a=1;b=10:
do
{
b-=a;a++;
}
while(b--<O)
( A )
16、下列字符数组长度为5的是________。
( B )
17、为了避免在嵌套的条件语句if-else 中产生二义性,c 语言规定: else子句总是与配对________。
( D )
18、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
( A )
19、函数 rewind 的作用是()。
( B )
20、以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j
二、填空题 (共10题,每题2分,共计20分)
1、定义4行3列的整型二维数组a的语句是________。
2、字符读写函数____________是用于从磁盘文件中读出一个字符。
3、c语言约定用____________作为字符串的结束标志。
4、表达式7+10>2 && 25 %5的结果是 ________ 。
5、有以下程序
#include<stdio.h>
main() {
int n[2],i,j;
for(i=0;i<2;i++) n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++) n[j]=n[i]+1;
printf("%d\n",n[1]);
} 程序运行后的输出结果是________。
6、局部变量的作用域是从______的位置起,到函数结束止。
7、下列程序段的运行结果是________。
main()
{
int i=1,s=0;
for( ; ; )
{
s=s+i ;
i++;
if(i>4) break ;
}
printf("%d\n",s);
}
8、下面程序的运行结果是________。
main()
{
int a[2][3]={{1,2,3},{4,5,6}}, int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)printf("%5d",b[i][j]);
printf("\n");
}
}
9、以下程序对输入两个整数,按从大到小的顺序输出。请在____内填入正确的内容。
void main()
{
int x,y,z;
scanf("%d,%d",&x,&y);
if(_________)
{
z=x;
_________
}
printf("%d,%d",x,y);
}
10、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括 函数类型、函数名和______。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:计算字符串中子串出现的次数 。请输入两个字符串,以回车隔开,母先串在前,子串在后,比如: abca a 2
2、若有以下银行卡信息:
struct card{
int id;//银行卡号
int bonus; //金额
};
请编写程序,从键盘输入5条银行卡记录,使用结构体数组存
储这些数据,并按金额升序排序,输出排序后的结果。
【输入形式】5条银行卡记录分行输入,每行数据用空格间隔
【输出形式】分5行输出数据,每行数据均使用空格间隔
【输入样例】
1001 20
1002 80
1003 50
1004 10
1006 40
【输出样例】
1004 10
1001 20
1006 40
1003 50
1002 80
3、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
相关标签:
- C语言
- 西安美术学院
- 冲刺卷