c语言初学者学习资料
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
题号 一 二 三 四 总分 得分 试 卷一、填空题(每空1分,共30分) 装1、在C语言中,输入操作是由库函数 完成的,输出使用库函数 订线 2、C语言所提供的基本数据类型包括: ; ; ; ; ; 3、在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为 一个int型数据在内存中所占的字节数为 float型数据在内存中所占的字节数为 ,一个double型数据在内存中所占的字节数为 . 4、C语言中的一条语句以 结尾,C语言中的语句有五大类,分别是 ; ; ; ; 。 5、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为 。 6、若x和a均是int型变量,则执行表达式x=(a=4,6*2)后x值为 , a为 . 试 7、c语言提供的三种逻辑运算符是 ; ; 。 卷装 8、已知a=7.5,b=2,c=3.6,表达式a>b&&c>a||ab的值为 。 订 9、条件“2或x<-10”的C语言表达式是: .
线
10、C语言规定,字符串结束标识符为: 。
11、对于字符串比较函数strcmp(str1,str2),当 时返回值为0,当
时返回值为正数,当 时返回值为负数。 12、对于数组a[][2]={1,2,3,4,5,6},有 行。
二、选择题(每小题2分,共20分) 1、 一个C程序的执行是从____ ____。
A)本程序的main函数开始,到main函数结束;
B)本程序文件的第一函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一函数开始,到本程序main函数结束 2、 下列不属于标识符的是
A)常量
B)关键字 C)预定义标识符
D)用户标识符
3、按照C语言规定,不能出现在标识符中的是
A)小写字母 B)数字 C)连接符 D)下划线
4、C语言规定:一个源程序中,main函数的位置___ _____。
A)必须在最开始; B)必须在系统调用的库函数的后面; C)可以任意; D)必须在最后;
5若有代数式3ae/(bc),则不正确的C语言表达式是:_______。
A)a/b/c*e*3;
B)3*a*e/b/c;
C)3*a*e/b*c;
D)a*e/c/b*3;
7、下列说法正确的是 。
A)输入项可以为一实型变量,如scanf(“%f”,3.5)
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f) D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f). 8、下列运算符优先顺序的描述中正确的是________。
A)关系运算符<算数运算符<赋值运算符<逻辑与运算符
B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算数运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 9、C语言中while和do—while循环的主要区别是 _____ __ 。
A)do—while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件严格 C)do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句。
10、 若有说明:int a[10];则对a数组元素的正确引用是:___ _____。 A)a[10];B)a[3.5];C)a(5);D)a[10-10]
三、程序阅读题(每小题5分,共30分)
1.以下程序的运行结果是 c= c= i= i= 。
#include void main() {char c='a';
int i=97;
printf("%c,%d\n",c,c); printf("%c,%d\n",i,i); }
2、以下程序,若输入4,2则运行的结果是a= b=
#include
void main() { int a,b,t;
scanf("%d,%d",&a,&b); if(a>b) {t=a;a=b;b=t;}
printf("%d,%d\n",a,b); }
3、下列程序的运行结果是_______ _
#include void main()
{int a=5,b=4,c=6,d=2; printf("%d",(a}
4、写出程序运行结果sum=
#include void main() {int i,sum=0; i=1;
while (i<=100) { sum=sum+i; i++; }
printf("%d\n",sum); }
5、下列程序的运行结果是: #include /*' '表示空格*/ void main()
{char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},
{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}}; int i,j;
for (i=0;i<5;i++) {for (j=0;j<5;j++)
printf("%c",diamond[i][j]); printf("\n"); }
}
6、有以下程序,运行的结果是 t=
#include
main( ) {int i,t; t=1; i=2;
while(i<=5) {t=t*i; i=i+1; }
printf("%d",t); }
四、程序填空题。(20分)
1、百钱买百鸡.公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元买一百只鸡, 且公鸡,母鸡,小鸡都要有,有几种买法?(6分) #include “stdio.h” void main()
{int i,j,k,n=0; /*i是公鸡,j是母鸡,k是小鸡*/ for(i=1; 【1】 ;i++) for(j=1; 【2】 ;j++) {k=100-i-j;
if((i*5+j*3+(float)k/3)==100)
{ 【3】 ; printf("i=%d,j=%d,k=%d\n",i,j,k);} }
printf("\n n=%d\n",n);
}
2、以下函数是求二维数组中最大的数,并输出最大的数所在的行和列,请填空(6分)。#include void main()
{int i,j,row=0,colum=0,max; /*row表示行,colum表示列,max表示最大数*/ int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; 【1】 ; for (i=0; 【2】 ;i++) for (j=0; 【3】 ;j++) if (a[i][j]>max) {max=a[i][j]; row=i; colum=j; }
printf("max=%d,row=%d,colum=%d\n",max,row,colum);
}
3、以下程序可以实现对随机输入的10个数采用冒泡法按照从小到大的顺序排序,
并输出排序序列。请填空(8分) #include "stdio.h" void main() {int a[10]; int i,j,t;
printf("input 10 numbers:\n"); for(i=0;i<10;i++)
【1】 ; /*输入随机数据序列*/ printf("\n"); for(j=0;j<9;j++)
{for(i=0; 【2】 ;i++) if( 【3】 ) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } }
printf("the sorted numbers:\n"); for(i=0;i<10;i++)
【4】 ; /*输出排序序列*/ printf("\n"); }
本文来源:https://www.wddqw.com/doc/6129a91cfc4ffe473368ab40.html