一、选择题
1、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用 八进制表示的字符常量'\\101'是(A)。
A、字符A B、字符a C、字符e D、非法的常量
2、下列程序段的输出结果为(C)。 float k=0.8567; printf(\
A、85.6% B、85.6%% C、85.7% D、.857
3、下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8, 正确的键盘输入方法是(A ). (用\表示回车,U表示空格) main() {int a,b;
float x1,x2,x3; char s1,s2;
scanf(\}
A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR] B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR] C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR] D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]
4、C语言的if语句中,用作判断的表达式为( A)。
A、任意表达式 B、算术表达式 C、逻辑表达式 D、关系表达式
5. 以下程序的输出结果是:(A )
main() {int m=5;
if(m++>5) printf(\ else printf(\ }
A、6 B、5 C、7 D、4
6. 以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);(C)。
A、3次
B、循环次数不定
C、4次 D、是无限循环
7. 以下程序的执行结果是(B )。
main()
{ int num = 0;
while( num <= 2 ) { num++; printf( \
A、0,1,2 B、1,2,3, C、1,2,3,4, D、1,2,
8. 以下不能正确进行字符串赋初值的语句是(A)。 A、char str[5]=\
B、char str[5]={'g','o','o','d'}; C、char *str=\D、char str[]=\
9. 函数调用:strcat(strcpy(str1,str2),str3)的功能是( D)。 A、将串str1复制到串str2中后再连接到串str3之后 B、将串str2连接到串str1之后再将串str1复制到串str3中 C、将串str1连接到串str2之后再复制到串str3之后
D、将串str2复制到串str1中后再将串str3连接到串str1之后 10. 以下函数的类型是(C )。
fff(float x) {
return 5; }
A、void 类型
B、与参数x的类型相同 C、int类型 D、无法确定 11. 设有如下函数
fac(int x) {
float y=1.0; return(x*y); }
则函数的类型为(A ).
A、int型 B、float型 C、无法确定 D、void型
12. 设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B ). A、6.28
B、12.56 C、3.14 D、9.42
13. 下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 14. 以下程序的输出结果是(A ).
main()
{char str[ ]=\
A、68
B、不确定的值 C、字符D的地址 D、0
15. 对结构体类型的变量的成员的访问,无论成员是何种数据类型都可使用
的运算符是(B)。
A、& B、. C、* D、-> 二、判断题
1、在C语言中,各种类型的整型数据在内存中都占2个字节。N 2、若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。N
3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.N 4、C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.N 5、设d=1,e=2,f=3,则逻辑表达式!(d+e)+f&&e+f*2的值为0.N 6、已知a=4,b=2,c=3,d=5,表达式a>b?a:c 7、语句if(a>b) printf(\可以用语句 printf(\取代.Y 8、在do-while循环中,任何情况下都不能省略while.Y 9、break语句能够终止当前进行的多层循环.N 10、continue语句对于while和do-while循环来说,意味着转去计算While表达式.Y 11、对静态变量的初始化不是在编译阶段完成的.N 12、gets 函数是用来输入一个字符的函数N 13、设有数组定义: char array[ ]=\则数组 array所占的内存空间为5字节.N 14、当全局变量与局部变量同名时,在局部变量的作用域范围之内,局部变量起作用.Y 15、C语言中,通过函数调用只能获得一个返回值.N 16、数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.N 17、被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件.Y 18、如果需要向函数内传递多个值,用数组和用指针效果是一样的.Y 19、两个类型相同的结构体变量,可以互相赋值.Y 20、C语言中,在打开文件时,必须说明文件的使用方式,\只能用于文件的写.N 三、填空题 1、int x; x=-3+4%-5*3, 则x的值为__9___. 2、下列语句输出的结果是__-1___. unsigned int b=65535;printf(\ 3、x=5,y=8时,c语言表达式5-2>=x-1<=y-2的值是__1___. 4、设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是___3__. for (x=0,y=0;y!=123&&x<3;x++) scanf (\ 5、连接字符串的函数是strcat,只写函数名即可. 6、从函数的形式上看,函数分为无参函数和有参函数_两种类型. 7、定义int *p,a[5];将数组a的首地址赋给指针变量p的语句是 p=a p=&a[0] p=a; p=&a[0]; 8、设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 _34____。 struct stud { char name[10]; float s[4]; double ave; } a,*p; 四、程序设计 1、功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str[0]代表字符串 的第一个字符)。 【参考代码】 while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\\0'; 2、功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 int i,j; for(j=0;j pp[j]=tt[0][j]; for(i=1;i } 五、程序改错 1、功能:求1到20的阶乘的和。 #include \void fun() { int n,j; float s=0.0,t=1.0; for(n=1;n<=20;n++) { /**********ERROR**********/ s=1; for(j=1;j<=n;j++) /**********ERROR**********/ t=t*n; /**********ERROR**********/ s+t=s; } /**********ERROR**********/ printf(\} main() { fun(); } 【改错1】【参考答案】 t=1; t=1.0; 【改错2】【参考答案】 t=t*j; t*=j; t=j*t; 【改错3】【参考答案】 s=s+t; s+=t; s=t+s; 【改错4】【参考答案】 printf(\ 2、功能:编写一个函数,该函数可以统计一个长度为3的字符串在另 一个字符串中出现的次数。 例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符 串为:asd,则应输出n=4。 #include \#include \#include \ int fun(char *str,char *substr) 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库大连理工大学C语言期中测试模拟题1在线全文阅读。
相关推荐: