1.在一个C程序中()
A. main函数必须出现在所有函数之前
B. main函数可以出现在任何地方
C. main函数必须出现在所有函数之后
D. main 函数必须出现在固定位置
2.下列不合法的用户标识符是()
A. j2_KEY
B. Double
C. 4d_a
D.8
3,在“文件包含”预处理语句的使用过程中,当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索
C. 仅仅搜索源程序所在目录
D.仅仅搜索当前目录
4.下面合法的C语言字符常量是()
A. ‘t’
B. “A”
C. ‘xx’
D.A
5.下列选项中用于判断ch是否是字符的表达式是()
A.(‘a’<=ch<=‘z)I(‘A’<=ch<=Z’)
B. (‘a’<= ch <=‘z’) && (‘A’<= ch<=‘Z’)
C. (ch >=‘a’&& ch <= ‘z’) && (ch >= ‘A’ && ch <= ‘Z’)
D.(ch>=‘a’ &&ch <=‘z’)Il (ch>=‘A’ && ch<=‘Z’)
6.若a为int类型,且其值为3,则执行完表达式a+= a-= a*a后,a 的值是()
A.-3
B.9
C.-12
D.6
A. 10 B.a=-=11ll a=-=12 ll a=-=13 ll a==14
C. a>10 && a<15
D. !(a<=10) && !(a>=15)
8,设ch是char型变量且为’A’,经过下面的表达式运算后ch的值是()
ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch;
A.A
B. a
C.Z
D.zment
A.‘’
B. ‘\n’
C. ‘’’
D. ‘\091’
10,阅读以下程序段,如果从键盘上输入abc<回车>,则程序的运行结果是()
char ch;
scanf("%3c",&ch);
printf("%c",ch);
A.a
B.b
C.c
D.语法出错
A.
switch(a+b);
{ case 1: y=a+b; break;
case 0:y=a-b; break;)
B.
switch(a*a+b**b)
case 3:
case 1: y=a+b; break;
case 3: y=b-a, break;}
C
switch a{
case c1: y=a-b; break;
case c2: x=a*b; break;
default: x=a+b; }
D
switch(a-b){
default: y=a*b; break;
case 3: case 4: x=a+b; break;
case 10: case 11: y=a-b; break;)
12.有以下程序段
int n,t=1,s=0;
scanf("%d",&n);
do{
s=s+t;t=t-2;
}
while (t!=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是()
A.任意正奇数
B.任意负偶数
C.任意正偶数
D.任意负奇数
A. double x[5]=(2.0, 4.0, 6.0, 8.0, 10.0);
B. char c20=("x10’, "xa’, "x8’);
C. char c1[]=(‘1’, ‘2’, ‘3’, ‘4’, ‘5’);
D. int y[5]={0,1,3,5,7,9);
14.以下能正确定义数组并正确赋初值的语句是()
A. int n=5,a[n];
B. int a[1][2]=((1),(3}};
C. char [s2]=[‘t’,‘e’,‘s’,‘t’ ]
D. char s1[10];s1=“test”;
A. char s[5]=(“abc”);
B. char s[5]=(‘a’, ‘b’, ‘c’);\
C. char s[5]=“”;
D. char s[5)=“abedef”;
16,在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()
A. extern
B. register
C. auto
D. static
17.下列函数定义中,会出现编译错误的是()。
A.
int max(int x, int y, int *z)
{
*z=x>y? x:y;
return *z;
}
B.
int max(int x, y)
{
int z;
z = x>y? x:y;
return z;
}
C.
int max(int x, int y)
{
int z;
z=x>y?x:y;
return (z);
}
D.
int max(int x, int y)
{
return (x>y? x:y);
}
18.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x,()是正确的。
A. p2=pl
B.p2=**pl
C.p2=&pl
D. p2=*pl
A.定义了一个基类型为int的指针变量p,该变量具有三个指针
B.定义了一个指针数组p.该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
20.若有以下说明和定义语句,则变量m在内存中所占的字节个数是()。
union aa{float x; float y; char c[6];);
struct stfunion aa; float w[5]; double ave;)m;
A. 42
B.34
C.30
D. 26
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。)
1_________
. #include <stdio.h>
int main(){
int score, bonus;
score = 60;
bonus = 2;
switch(bonus){
case 1:
score += 10;
case 2:
score += 20;
case 3:
score += 30;
}
printf("%d", score);
return 0;
}
2._________
#include
typedef struct date
{
int year;
int month;
int day;}DATE;
void Func(DATE *p)
{
p->year=2018;
p->month = 12;
p->day = 25;
}
int main()
{
DATE d={2019,1,1};
printf("%d,%d,%d\n", d.year, d.month, d.day); `
Func(&d);
printf("%d,%d,%dn", d.year, d.month, d.day);
}
3_____
#include
int main()
{
int a, b;
for(a=1,b=1;a<=100;a++)
{if(b>=20) break;
if(b%3==1)
{b+=3;continue;}
b-=5;}
printf("%d",a);
return 0;
}
4_____
#include
int main()
{
int i=13,j=0;
do{
j=j+i;
i--;
}while(i>10);
printf("i=%d,j=%d\n",i,j);
return 0;
}
5_____
#include
void fun(int a[2][3])
{
int i,j,max;
for(i=0;i<2;i++)
{
max=a[i][0];
for(j=1;j<3;j++)
if(a[i][j]>max)
max=a[i][j];
a[i][0]=max;
}
}
int main()
{
int a[2][3]={1,2,3,4,5,6},i,j;
fun(a);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf("%4d",a[i][j]);
return 0;
}
三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)1. 在玩牌程序中,每一组牌用数字1~13代表。输入数字,显示相应的牌。其中2-10直接显示数字,而数字1、11、12、13则分别用Ace、Jack、Queen、King来表示。
#include
void main()
{
int n;
scanf("%d", &n);
if(n >= 1 && n <= 13){
switch_____{
case 1:_____
case 11: printf("Jackin"); break;
case 12:_____
case 13:_____
default:_____
}
}else{
printf("Errorin");
}
}
#include
#include
void main()
{
char s[80];
int count[10];
int i;
scanf("%s",s);
for(i=0;i<___;i++)
if([i]>='0'&&s[i]<='9') ++];
for(i=0;i<10;i++)
printf("%d",count[i]);
}
strlen(s)
四、编程题(本大题共 3小题,每小题 15分,共 45分。请在答题纸的相应位置上作答。)
1,根据某城市出租车收费标准编写程序对车费进行计算。具体标准如下:起步里程为3km,起步费10元:10km以内超起步里程部分,没千米2元,超过10km以上的部分加收50%的回空补贴费,即每千米3元。运营过程中,因堵车及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
要求:输人行驶里程(精确到0.1km)与等待时间(精确到分钟),计算并输出乘客应支付的车费(元),结果四舍五人,保留到元。
2.编写程序,求2n!(即求1!+2!+3!+.+20!),要求用子函数完成。