C语言基础知识复习习题模拟试题一_第1页
C语言基础知识复习习题模拟试题一_第2页
C语言基础知识复习习题模拟试题一_第3页
C语言基础知识复习习题模拟试题一_第4页
C语言基础知识复习习题模拟试题一_第5页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模拟试题一一、 选择题(本大题30分,每小题2分)1.下列说法正确的是 H 。A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组: A 。 A)整型 实型 字符型 B)整型 数组 指针C)数组 结构体 共用体 D)指针 逻辑型 空类型3.若有说明语句:char c= 64 ; 则变量C包含: A 。A)1个字符 B)2个字符 C)3个字符 D)说明不

2、合法,C值不确定4.设有如下定义和执行语句,其输出结果为: 。 int a=3,b=3; a = -b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 35.C语言中,运算对象必须是整型数的运算符是 A 。 A)% B) C)% 和 D)*6.能正确表示x的取值范围在0,100和-10,-5内的表达式是 C 。A)(x<=-10)|(x>=-5)&&(x<=0)|(x>=100)B)(x>=-10)&&(x<=-5)|(x>=0)&&(x<=100)C

3、)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)|(x>=-5)&&(x<=0)|(x>=100)7.程序段如下int k=0;while(k+<=2); printf("last=%dn",k);则执行结果是last= B 。A)2 B)3 C)4 D)无结果8.下面有关for循环的正确描述是 A 。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能

4、用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来9.若二维数组a有m列,则aIj元素前的数组元素个数为: 。10.C语言中变量的指针指的是: 。A)变量类型 B)变量值 C)变量值 D)变量地址11.设有两字符串“Beijing”、“China”分别存放在字符数组str110,str210中,下面语句中能把“China”连接到“Beijing”之后的为: 。A)strcpy(str1,str2);B)strcpy(str1, “China”);C)strcat(str1,“China”)D)strcat(“Beijing”,str2);12.以下程

5、序的运行结果是: 。main( ) int a=2, i ; for(i=0;i<3;i+) printf(“%4d”,f(a) ) ; f( int a) int b=0,c=3;b+; c+; return(a+b+c); A)7 10 13 B)7 7 7C)7 9 11 D)7 8 913.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为: C 。 A)void B)double C)int D)char14.在说明一个结构体变量时系统分配给它的存储空间是 。A) 该结构体中第一个成员所需存储空间B) 该结构体中最后一个成员所需存储空间C) 该结构体中占用最大存储

6、空间的成员所需存储空间D) 该结构体中所有成员所需存储空间的总和15.使用fseek函数可以实现的操作是 。A) 改变文件的位置指针的当前位置B) 文件的顺序读写C) 文件的随机读写D) 以上都不对 二、判断题(本大题10分,每小题1分)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。( )2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。( )3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。( )4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。( )5、C程序中函数不可以嵌

7、套定义但可以嵌套调用。( )6、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。 ( )7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。( )8、在函数内的复合语句中定义的变量在本函数范围内有效。( )9、声明一个结构体类型的一般形式为struct 结构体名 成员表列;。( )10、ANCI C规定了标准输入输出函数库,用fseek()函数来实现打开文件。( )三、程序填空题(本大题12分,每小题2分)(5)(6)1.下面程序可求出11000的自然数中所有的完数(因子和等于该数本身的数)请填空。main( ) int m, n, s;for(m=2;m

8、<1000;m+) _(1)_s=0_;for(n=1;n<=m/2;n+)if(_(2)m%n= =0_) s+=n;if(_(3)s=m_) printf(“%dn”, m); 2. 用起泡法对十个数由大到小排序。main( ) int a11, i, j, t; printf(“input 10 numbers: n”); for(i=1;i<11;i+) scanf(“%d”,&ai); printf(“n”); for (j=1;j<=9;j+)for(i=1; _i<=10-j(1)_; i+)if (_(2)ai>ai+1_)t=ai;

9、 ai=ai+1; _(3)_ai+1=t_ ; printf(“the sorted numbers: n”); for ( i=1; i<11; i+) printf(“%d”,ai);四、写出下面程序的执行结果(本大题24分,每小题4分)1.#include<stdio.h> main( ) char c=A+10-5;printf(“c=%cn”,c); 2.#include<stdio.h> main( ) int a,b,c; a=1;b=2;c=3;if(a>b)if(a>c) printf(“%dn”,a); else printf(“

10、%dn”,b); printf(“overn”); 3. main( ) char a66, i, j; for(i=0;i<6;i+) for(j=0;j<6;j+) if ( i<j )aij= #;else if(i=j) aij= ;else aij= * ; for(i=0;i<6;i+) for(j=0;j<6;j+) printf(“%c”,aij); printf(“n”);4.main( ) int i=2, x=5, j=7; fun (j,6); printf(“i=%d; j=%d; x=%dn”, i, j, x ) ; , int j

11、) int x=7; printf(“i=%d; j=%d; x=%dn”, i, j, x) ;5. # include <stdio.h> main ( ) int i, j; int p,q; i=2; j=10; p=&i; q=&j; p=10; q=2; printf(i=%d, j=%dn , i, j); 6. struct stru int x; char c; ;main( ) struct stru a=10, x,*p=&a; func (p); printf ( “%d,%c”, a.x, a.c); func (struct st

12、ru *b)b->x=20; b->c=y; 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分)1.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。2.编一程序,从键盘输入10个整数并保存到数组,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置。3.编写一个函数计算一个字符串的长度,输入输出在主函数内完成。(使用指针)模拟试题一答案模拟试题一答案一、 选择题(本大题30分,每小题2分)15 D A A A A 610 B C D D D1115 C B C D A 二、 判断题(本

13、大题10分,每小题1分)1.× 2. 3.× 4.× 5.6.× 7. 8.× 9. 10.×三、程序填空题(本大题12分,每小题2分)评分标准:全对的满分,半对半错的给一半分,全错的不得分。四、写出下面程序的执行结果(本大题24分,每小题4分) 评分标准:全对的满分,半对半错的给一半分,全错的不得分。1.c=F 2.over3. # * #* #* #* #*4. i=7;j=6;x=7<cr> i=2;j=7;x=5;<cr>5. i=10,j=26. 10,x五、编程题(本大题24分,第一题7分,第二题8

14、分,第三题9分)1.这是一种答案,可以不使用循环,使用SWITCH语句来做。#include <stdio.h> main( ) int n=1,m=0,k,mod_mn=1; printf(“Please Input m value:n”); scanf(“%d”,&m); n=1; for(k=0;k+) mod_mn=m/(n*10); printf(“%d”,(m-mod_mn*n*10)/n); if(mod_mn= =0) break; n*=10; 2.main( ) int i,array10; int min,k=0; printf(“nPlease input array 10 elementsn”); for(i=0;i<10;i+) scanf(“%d”,&array i);printf(“Before exchange:n”);for(i=0;i<10;i+) printf(“%5d”,arrayi);min=array0;for(i=1;i<10;i+)if(min>arrayi) min= arrayi; k=i; arrayk=array0;array0=min;printf(“nAfter exchange:n”);for(i=0;i<10;i+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论