C语言程序设计(二) 模拟题
一、选择题(每小题2分,共30分)
1.在程序中可以用来作为变量名的合法的标识符是( )。
冒泡排序代码c语言A.int B.stu_1t C.2a1 D.#55
2.以下叙述正确的是( )。
A.在C程序中main函数必须位于程序的最前面
B.一个C程序只能有一个函数
C.一个C程序有并且只能有一个main函数
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.已知:char str1, str2[10]; 选择正确的输入语句 ( )。
A.scanf ("%s%c", &str1,str2); B.scanf ("%s%s", &str1,str2);
A.scanf ("%s%c", &str1,str2); B.scanf ("%s%s", &str1,str2);
C.scanf ("%c%c", &str1,str2); D.scanf ("%c%s", &str1,str2);
4.判断char型变量CH是否为小写字母的正确表达式( )。
A.’a’<=CH<=’z’ B.(CH>=’a’)&(CH<=’z’)
C.(CH>=’a’)&&(CH<=’z’) D.(‘a’<=CH)AND(‘z’>=CH)
5.int a=6;则执行a-=a*a后,a的值为 ( )。
A.-30 B.0 C.36 D.-36
6.已知各变量的类型说明如下:int m=8,n, a, b; double x=3.14, y=0.12; 则以下符合C语言语法的表达式是( )。
A.a+=a-=(b=2)*(a=8) B.n=n*3=18 C.x%3 D.y=float (m)
7.以下程序与语句int a=1,b=2,c=3,k=0;执行 k=a>b?b>c?1:5:7;后 k的值为( )。
A.0 B.1 C.5 D.7
8.设函数fun的定义形式为void fun(char ch, float x ) { … }则以下对函数fun的调用语句中,正确的是( )。
A. fun("abc",3.0); B. fun(32,32); C. fun('65',2.8); D. fun('D',16.5);
9. 已知 int b; 则对指针变量正确的说明和初始化是:( )。
A.int *pb=b; B.int pb=&b;
C.int *pb=&b; D.int pb=b;
10.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的是( )。
A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0)
11.下列各语句定义了数组,其中哪一个是不正确的( )。
A.char a[2][10]={"China","Asia"}; B.int x[2][2]={1,2,3,4};
异步通信格式C.float x[2][]={1,2,4,6,8,10}; D.int m[][3]={1,2,3,4,5,6};
12.对于以下程序段,运行后i的值为( )。
int i=0,a=2;
switch(a)
{ case 1: i+=1; break;
case 2: i+=2;学java有什么好处吗
case 3: i+=3;
}
A.2 B.3 C.5 Dkeras官方教程.6
13.有以下语句:
i=1;
for( ; i<=100; i++) sum+=i;
与以上语句序列不等价的是( )。
A.for(i=1; ;i++) {sum+=i;if(i==100)break;} B.i=1;for(;i<=100;)sum+=i;
C.for(i=1;i<=100;){sum+=i;i++;} D.i=1;for(; ;){sum+=i;if(i==100)break;i++;}
14.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是( )。
A.c=(c-'A')%26+'a' B.c=c+32 C.c=c-'A'+'a' D.c=('A'+c)%26-'a'
15.下面函数定义正确的是( )。
A.double fun(double u,v) B.double fun(double u ; double v)
{return u+v;} {return u+v;}
C.double fun(float u, float v) D.double fun( u,v)
{return u+v;} { float u,v ;return u+v;}
二、填空题(每空2分,共30分)
1. 一个源程序文件由一个或多个函数组成,C程序的执行从__________函数开始。
2. int i=5, j, k; j=i--; k=i; 则 k的值为__________。
3. 若有代数式x2÷(3x-5y), 则正确的C语言表达式为: ____________________。
4. 设a和b均为double型常量,且a=5.5,b=2,则表达式(int)(a+b)/b的值是 。
5.字符串 "Hello" 占用内存的字节数是 。
6. 若已定义 int a[]={5,6,7,8},*p=a; 则*(p+3)的值是 。
7.设a=3,b=4,c=5,则逻辑表达式a+b>c&&b==c的值是___________。
8.下面程序的运行结果为 。
main(){
int i=1,s=3;
do{
s+=i++;
if(s%7==0) continue;
else ++i;
}while(s<15);
printf("i=%d s=%d",i,s);
}
9.将两位自然数n的个位与十位互换,得到一个新的数存储到m中(不考虑个位为0的情况)的C语句是: 。
10.有数组的定义和赋初值:int a[ ][3]={1,2,3,4,5,6,7,8,9}; 则a[1][2]的值是 。
11.写出以下程序的运行结果是 。
#include<stdio.h>
main( )
{ int i=1;
while(i<=12)
{ if ((i%3)) printf("%d,",i);
i++;
}
}
12. 下面程序的输出是 。
#include<stdio.h>
int func(int array[][4],int max)
{ int i,j,row=0,column=0;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(array[i][j]>max) {max=array[i][j];row=i;column=j;}
printf(“%d,%d”,row,column);
return(max);
}
数字魔方教程一步一步图解int main( )
{ static int a[3][4]={{1,13,5,7},{2,4,26,8},{10,1,3,12}};
int m=10;
printf("%d\n",func(a,m));
return 0;
}
13. 下面程序的运行结果为 。
#include <stdio.h>
void fun( int *x, int *y)
{ int k=0;
printf("%d %d ", *x, *y);
k=*x;*x=*y;*y=k;
}
int main( )
{ int x=1, y=2;
fun(&y, &x);
printf("%d %d", x, y);
return 0;
}
14. 以下函数返回a所指数组中最小的值所在的下标值,请填空。
fun(int *a, int n)
{ int i,j=0,p;网站设计岗位的职责与要求
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]) ;
return(p);
}
15. 下面程序的运行结果为 。
#include<stdio.h>
int f(int n)
{ if(n==1)return 1;
else return f(n-1)+1;}
main()
{ int i,j=0;
for(i=1;i<3;i++) j+=f(i);
printf("%d\n",j);
}
三、判断题(每题1分,共10分)对打√,错打×
1. '\101'代表八进制数101的ASCII字符'\ A '。 ( )
2. 在switch结构中,不能用break语句。 ( )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论