版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言 复习与练习,考试大纲,考试形式 笔试,闭卷,120分钟 考试题型 选择(30) 简答(30) 填空(20) 程序设计(20) 范围,考试范围(1),第3章:了解数据基本类型,包括整型、浮点型、字符型;了解算术、赋值和逗号运算符和表达式 第4章:了解C语言语句,重点掌握输入输出函数printf和scanf,牢记基本的输入输出格式说明字符 第5章:掌握关系运算符和关系表达式,掌握逻辑运算符和逻辑表达式;熟悉if语句的三种形式;掌握条件运算符;熟悉多分支语句switch语句;能自行编写简单的选择结构程序 第6章:重点掌握四种循环控制语句:goto+if语句;while语句;do while语
2、句;for语句;一般掌握break语句和continue语句;能自行编写简单的循环控制语句,考试范围(2),第7章:重点掌握一维数组的定义和引用;了解二维及多维数组的定义和引用;重点掌握字符数组的使用,尤其是字符串结束标志 第8章:重点掌握掌握函数的定义,形式参数和实际参数,函数的返回值;熟悉函数调用的多种形式;理解局部变量和全局变量的概念;理解四种变量存储类别,重点在静态局部变量和外部变量 第10章:理解指针的概念;理解多种指针:包括变量指针,数组指针,字符串指针;重点掌握指针作函数参数的概念和用法; 第11章:重点掌握结构体的定义方式;掌握结构体变量,结构体数组。,重点分布,第3章 数据类
3、型18% 第4章 顺序结构、输入输出6% 第5章 选择结构、关系和逻辑运算符14% 第6章 循环结构13% 第7章 一维数组和字符数组20% 第8章 函数和四种变量25% 第10章 指针4%,10 指针(1),1 int a = 1,2,3, *p, *q; p = a+1; q = p+; 执行该程序段后, p和q所指向的单元的内容分别为: A) (*p) = 1, (*q) = 2 B) (*p) = 2, (*q) = 3 C) (*p) = 3, (*q) = 2 D) 以上都错 2 对于 int *p, *q, i=5, j=6;执行: p = 后 (*p)=_ _ , (*q)=
4、_,6,5,10 指针(2),3 以下选项中,对基类型相同的指针变量不能进行运算的运行符是( )。 ABCD 4 若有以下定义和语句,且0 i10,则对数组元素地址的正确表示是( )。 int a 1,2,3,4,5,6,7,8,9,0, p, i ; pa; A A(ai )BapaCpiD( static int c = 3; b = b+1; c = c+1; return(a+b+c); 如果有int i, j; 则执行两次调用:i=f(2); j=f(2) 后, i, j值为: A) i = 7, j = 7 B) i = 7, j = 8 C) i = 8, j = 7 D) i
5、= 8, j = 8,8 函数(2),1以下正确的叙述是( )。 AC语言的主函数是无参函数 BC语言的主函数最多允许有1个参数 CC语言的主函数最多允许有2个参数 DC语言的主函数可以有2个以上的参数 2C语言中函数返回值的类型是由( )决定的。 Areturn语句中的表达式类型 B调用该函数的主调函数类型 C调用函数时临时确定 D定义函数时所指定的函数类型,8 函数(3),3以下不正确的描述是( )。 A调用函数时,实参可以是表达式 B调用函数时,简单变量的实参与形参可以共用内存单元 C调用函数时,简单变量做实参与形参将为形参分配内存单元 D调用函数时,实参与形参的类型必须一致 4若x为i
6、nt型变量,则以下函数fun的返回值类型为( )。 fun(x) printf(%dn,x); A返回值为void类型B无法确定返回值 C返回值为int类型D没有返回值,8 函数(4),5C语言规定,调用一个函数时,实参变量与形参变量之间的数据传递是( ) A地址传递B值传递 C由实参传给形参,再由形参传回来给实参 D由用户指定传递方式 6在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量的存储类应该是( )。 Aextern BRegister CautoDstatic,8 函数(5),7以下不正确的描述为( ) A在函数之外定义的变量称为外部变量,外部变量是
7、全局变量 B在一个函数中既可以使用局部变量,又可以使用同名全局变量 C外部变量定义和外部变量说明的含义不同 D若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。,8 函数(6),8以下不正确的描述为( ) A不同函数中可以使用相同名字的变量 B形式参数是局部变量 C在一个函数内部定义的变量只在本函数范围内有效 D在一个函数内部的复合语句中定义的变量可以在本函数范围内有效 9在C语言中,对于存储类型为( )的变量,只有在使用它们时才占用内存单元。 Astatic和autoB静态(static) Cregister和staticDauto和register 1
8、0C语言中形参的缺省存储类别是( ) A自动(auto) B静态(static) C寄存器(register)D外部(extern),8 函数(7),11下列程序的运行结果是: 。 unsigned fun3(unsigned num) unsigned k=1; do k=num%10; num/=10; while(num); return(k); main( ) unsigned n=26; printf(%dn,fun3(n); ,12,8 函数(8),12下列程序的运行结果是: 。 long fun4(int n) long s; if (n=1)|(n=2) s=2; else s
9、=n+fun4(n1); return(s); main( ) long x; x=fun4(4);printf(%ldn,x); ,9,8 函数(9),13下列程序的运行结果是: 。 int fun2(int x,int y) int m=5; return(xym); main( ) int a=7,b=5; printf(%dn,fun2(a,b); ,30,7 数组(1),1 如果char cc=12345,做sizeof(cc)后的返回值应为 A) 2 B) 5 C) 6 D) 1 2 定义字符指针数组arr, 数组大小为20,应写为 _,sizeof()返回参数对象的字节数: 这里
10、的参数是字符数组cc,有6个元素.,char *arr20;_,7 数组(2),3下面程序的运行结果是: #include add1(a,n) int a,n; int i; for(i=0; in; i+) ai+; main() static int array=0,1,2,3,4,5,6,7,8,9; int i; add1(array,10); for (i=0; i10; i+) printf(%d ,arrayi); ,12345678910,7 数组(3),下面程序的运行结果是: #include main( ) int a33=1,2,3,4,5,6,7,8,9; int i;
11、 for (i=0; i3; i+) printf(%d,ai2i); ,357,6 循环控制(1),1 用for循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为: for (i=1; i=9; i+) printf(“%3d”, _ _); 执行完下列语句段后, i,j值分别为:_ int i, j; j=10*(i=5); i+=j*=i+2;,3*i-2,355,350,解析: 第一条语句执行后: i = 5, j = 50 执行第二条语句: i+=j*=i+2 i += (j *= (i+2) i += (j *= 7) i += (j = 50*7) i =
12、5 + 350 = 355, j = 350,6 循环控制(2),2 用for循环打印 0 1 2 0 1 2 0 1 2; for( i=1; i=9; i+ ) printf(%2d, _ _);,(i-1)%3,5 选择结构程序设计(1),1 语句if (ab) k=0; else k=1; (int a, b, k) 等价于: A) k=(ab)?1:0; B) k=ab; C) k=a=b; D) 以上均不是 2判断字符变量c的值为数字(0-9)则返回1,否则返回0, 可用表达式: A) 0=c=9 B) 0=c 语句 if (x=0) if (x) y=1; else y= -1;
13、 B) if (x!=0) if (x0) y=1; else y= -1; else y=0; C) if (x0) y=1; else y=0;,5 选择结构程序设计(3),4 循环 for(i=0, j=5; +i!=-j; ) printf(“%d %d”, i, j); 将执行 A) 6次 B) 3次 C) 0次 D) 无限次,i = 0, j = 5, (+i1) != (-j4) 成立: i = 1, j = 4 i = 1, j = 4, (+i2) != (-j3) 成立: i = 2, j = 3 i = 2, j = 3, (+i3) != (-j2) 成立: i = 3
14、, j = 2 ,4 顺序程序设计(1),1下面程序的运行结果是( )。 main( ) int a, b; a=23; b=87; printf(%d%dn,a,b); A 23B23,87Ca=23D2387 87b=87 2下面程序的运行结果是( )。 main( ) float x, y; x=12.34; y=0.00045; printf(%f,%f,x,y); A12.34,0.00045B12.340000,0.000450 C12.34 0.00045D12.340000 0.000450,4 顺序程序设计(2),3下面程序的运行结果是( )。 main( ) int h=3
15、4, k=56; printf(h=%dnk=%dn,h,k); Ah=34 Bh=34 k=56 C34 56 D34 k=56 k=56 4下面程序的运行结果是( )。 main( ) float x=12.34567, y=345.2354; printf(x=%5.3 f, y=%5.3 f ,x,y); A12.346,345.235Bx=12.346, y=345.235 C12.345670,345.235000 Dx=12.34567, y=345.2354,4 顺序程序设计(3),5下面程序的运行结果是( )。 main( ) int s=3, w=5; printf(%u,
16、 %u, %d, %d,s,w,s,w); A3,5,3,5 B3 5 3 5 C65533,5,3,5D65533,65531,3,56运行下面程序时若从键盘输入:123 45 6789 输出结果是( )。 main( ) int a, b, c; scanf(%3d%3d%3d, Aa=123, b=45, c=678Ba=123 b=454 c=678 C123, 45, 678 Da=123, b=456, c=789,4 顺序程序设计(4),7运行下面程序时若从键盘输入:123456789 输出结果是( )。 main( ) int a, b, c; scanf(%3d%3d%3d,
17、 Aa=12 b=45c=3467B12 45 3467 Ca=12B=45c=3467 Da=12 b=45 c=3467,3 数据类型、运算符、与表达式(1),1 语句printf(“%d%d”, 123); 将输出: A) %123%d B) %d123 C) %d123 D)上述语句语法有错 2 对于整型变量i,j执行scanf(%d%*d%d,2,4,“%”格式表示输出一个“%”。,*表示跳过它指定的列数,3 数据类型、运算符、与表达式(2),4 对于int i; char c, s20;从输入序列123ab45efg中将123读入i; b读入c; “45efg”读入s, 则scan
18、f语句应写为: A) scanf(“%da%c%s”, i, c, s) B) scanf(“%d%*c%c%s”,3 数据类型、运算符、与表达式(3),5 若a, b, c均为int型变量且有值,要交换变量a和b的值,正确的语句组是( )。 Ac=a, a=b, b=c; Ba=b; b=a; Cc=a; a=b; b=c ; Dc=a; b=a; a=c; 6 x为int型变量,且值为2345,不正确的输出函数是( )。 Aprintf(%d,x); Bprintf(%3d,x); Cprintf(%c,x) ;Dprintf(%s,x);,【例1】输出以下图形,C,B,A,#includ
19、e “stdio.h” #define N 6 main() int j,k; for(j=1;j=N;j+) for(k=1;k=30-j;k+) printf(“ “); for(k=1;k=2*j-1;k+) printf(*); printf(n); ,【A】,#include “stdio.h” #define N 6 main() int i,j,k; for(i=1;i4;i+) for(j=1;j=N;j+) for(k=1;k=30-j;k+) putchar( ); for(k=1;k=2*j-1;k+) printf(*); printf(n); printf(n); p
20、rintf(n); ,【B】,#include main( ) int i,j; for(i=1;i=5;i+) for(j=1;j=30-i;j+) putchar(“ “); for(j=1;j=2*i-1;j+) printf(*); printf(n); ,for(i=4;i0;i-) for(j=1;j=30-i;j+) putchar( ); for(j=1;j=2*i-1;j+) printf(*); printf(n); /main,【C】,栈的应用数制转换,十进制数和其它进制数的转换是计算机实现计算的基本问题 算法策略:N=(N div d)*d+N mod d 例: (13
21、48)10=( )8,其运算过程如下: N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2,2504,栈的应用数制转换函数,void conversion( ) initstack(s); scanf (“%d”,n);/读入要转换的数 while(n) push(s,n%8);/各个位数入栈 n=n/8; while(! Stackempty(s) pop(s,e);/按高位到低位顺序出栈 printf(“%d”,e); ,十进制数转换成二进制、十六进制数?,#include stdio.h void main() char ch; int i,count10=0; /* for(i=0;i=0 ,输入一个字符串,统计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SWSTA 0003-2020供水管网加氯技术指南
- T/SDIE 25-2025 T/SDII 11-2025基于区块链的医疗数据共享安全要求
- T/CZGJ 002-2025地方铁路400MHz数字无线通信系统技术条件
- T/CI 1210-2025软土地基深层加固与沉降控制综合技术规程
- T/AHMT 1-2025纳米级电涡流位移传感器
- T/CNHAW 0015-2025临床应用药物分析检测通用要求
- AI在人文教育中的应用
- 2026学年江苏省启东市一年级语文期末评估冲刺押宝题(详细参考解析)详细答案和解析
- 脚手架搭设与拆除安全作业培训
- Photoshop 综合测试试题(三)及详细参考答案
- 2026年时事政治考题及参考答案
- 4.3 化学键(教案)2022-2023学年高一化学人教版(2019)必修第一册
- 2026年秋新教材统编版九年级上册历史全册教案(含教学反思)
- 施工现场污水沉淀池设计
- 2026人教版五年级数学上册第四单元第3课《平移(2)》课件
- 新版人教版四年级上册数学全册教案(完整版)教学设计含教学反思
- 医院物价管理制度 (三)
- 饮用水水源地保护项目水资源论证报告书
- 26年老年群体心理照护宣教课件
- 2026物业管理行业市场供需分析及投资评估规划分析研究报告
- T/CHES 59-2021组合式金属防洪挡板安装、验收及维护规范
评论
0/150
提交评论