一、 冒泡排序代码c语言选择题(每小题2分,共30分)
1.在程序中可以用来作为变量名的合法的标识符是:________。
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);
C、scanf ("%c%c", &str1,str2); D、scanf ("%c%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 x=10,y=20,z=30;以下语句执行后x,y,z的值分别是 。
if(x>y)
z=x;
x=y;
y=z;
A、x=10,y=20,z=30 B、x=20,y=30,z=30
C、x=20,y=30,z=10 D、x=20,y=30,z=20
6.设有程序段
int k = 10 ;
while ( k = 0 ) k = k - 1 ; 以下描述正确的是 。
A、循环体语句一次也不执行。 B、循环是无限循环。
C、while 循环语句执行十次。 D、循环体语句执行一次。
7.以下程序段中与语句k=a>b?1:0;功能等价的是 。
A、if (a>b) k=1; B、if (a>b) k=0;
C、k=0; if (a>b) k=1; D、k=1; if(a>b) k=0;
8. 如果int a=5,b=8则a>b?(a+b):(b-a)的值为( d )
A、5 B、8 C、13 D、3
9. 已知 int b; 则对指针变量正确的说明和初始化是:______
A、int *pb=b; B、int pb=&b;
C、int *pb=&b; D、int pb=b;
10.C语言中while和do_while循环的主要区别是 。
A、 do_while的循环至少无条件执行一次
B、 while的循环控制条件比do_while的控制条件严格
C、 do_while允许从外部转到循环体内
D、 do_while的循环体不能是复合语句
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;
case 3: i+=3;
}
A、2 B、3 C、5 D、6
13. 以下对一维整型数组a的正确说明是 。
A、int a (10) B、int n = 10; a[n ];
C、int n; D、# define SIZE 10
scanf ("%d", &n); int a [SIZE];
int a [n];
14.自定义函数中形式参数的作用域是 。
A、本文件 B、本函数
C、main 函数 D、整个程序
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分,共20分)
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)handy的值是 。
7.设a=3,b=4,c=5,则逻辑表达式a+b>c&&b==c的值是___________,a||b+c&&b-c的值是___________。
8.判断整型变量a为奇数的逻辑表达式为 。
三、阅读程序题(每小题3分,共15分)
1.写出以下程序的运行结果。
#include<stdio.h>
main()
{ int i=1;
while(i<=12)
{ if ((i%3)) printf("%d,",i);
i++;
}
}
2.写出以下程序的运行结果。
widget开发#include<stdio.h>
main( )
{ int x=25, y=15;
if( x>y) swap(&x, &y);
printf("%d", x);
}
swap(int *p1, int *p2)
{ int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
3.写出以下程序的运行结果。
#include<stdio.h>
main( )
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<=i;j++) s+=a[i][j]
printf(“%d\n”,s);
}
4.写出以下程序的运行结果。
#include<stdio.h>
main()
{ char a[]=“fprogram”,b[]=”fortran”;
char *p,*q;
p=a;
q=b;
while(*p!=’\0’&&*q!=’\0’)
{ if(*p==*q)
printf(“%c ”,*q);
p++;
q++;
}
}
四、程序填空题(每空2分,共10分)
1.以下函数返回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);
}
2.以下程序让用户输入一个整数n,求n!的值,请填空。
#include<stdio.h>
void main()
{
int n,s,i;
s=______; /*第一空*/
printf("please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
________________; /*第二空*/
}
printf("n!=%d",s);
distinct接什么}
3.以下程序将s2字符串连接到s1后,请填空。
#include<stdio.h>
void main()
{
char s1[30],s2[10];
int i=0,j=0;
printf("\nplease input s1:");
scanf("%s",s1);
printf("\nplease input s2:");
简述android的优势 scanf("%s",s2);
while(s1[i]!='\0')
{
i++;
}
while(s2[j]!='\0')
{
________________; /*第一空*/
i++;
j++;
}
________________; /*第二空*/
printf("\ns1:%s",s1);
}
五、编程题
1. 输入三个整数,输出其中最大的数。
2. 求3*3矩阵的主对角线元素之和。
3. 编程计算下列表达式:s=1!+2!+3!+4!+……+10!
4. 将数组a中n(n=10)个整数按相反顺序存放,将a[0]与a[n-1]对换,……将a[4]文字转乱码转换器与a[5]对换。
5. 写一个fun函数用于一个判断整数是否为素数的函数,并使用该函数求1000以内的素数。
6. 编写函数,用冒泡排序对输入的10个字符按照由小到大的顺序排列。
7. 输入3个数a,b,c,要求按由小到大的顺序输出。
8. 用嵌套循环输出以下图形
*
**
***
****
*****
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论