C语言试题+提纲.docx
- 文档编号:29662547
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:70
- 大小:53.46KB
C语言试题+提纲.docx
《C语言试题+提纲.docx》由会员分享,可在线阅读,更多相关《C语言试题+提纲.docx(70页珍藏版)》请在冰豆网上搜索。
C语言试题+提纲
计算机应用(C语言):
100分
一、选择题;二填空题;三、判断题;四、根据程序写出结果;五、补充完善程序;根据题目要求完善程序;
计算机应用上机(C语言):
100分
共3道大题,其中自定义函数并调用一定存在,主要参考实验、典型例题以及少量自编考试题。
计算机应用和应用上机(C语言)fx提纲
第一章
1、C语言的特点
2、C语言的基本操作与常使用的快捷键等
visualStudio6.0环境:
原程序、编译、组建和运行后程序的后缀和快捷方式分别为?
?
(visualC++6.0环境下执行相对应的操作后左下角显示后缀名)
第二章
1、算法的定义与特点
一个算法应该具有以下特点:
___、______,零个或多个输入,一个或多个输出,_____。
2、表示算法的常用方法
3、结构化程序设计的基本结构
结构化程序设计的三种基本程序结构为_______、________、________。
第三章
1、常用的数据类型(int,float和char)以及不同数据类型占用的字节数和有效数字和有效范围(输出结果)
visualC++6.0中数据类型float的数占的字节数为()。
A)1B)2C)4D)3
2、正确与错误的标识符的判定——正确条件:
(1)只能使用字母、数字和下划线_;
(2)首字符只能是字母或下划线_;
(3)不能使用关键字作为标识符;
正确的自定义标识符是()
A)#33B)a>bC)ttD)3days
3、常量、变量等的定义
4、字符常量的特殊符号(如\)和转义符号的正确判断——
(1)注意特殊转移字符如\n,\t,\v,\\,\’等;
(2)注意\ddd和\xhh,其中ddd只能是3位八进制的数0-7,hh是2位16进制的数,0-9和A,B,C,D,E,F
错误的转义字符是()。
A)'\091'B)'\\'C)'\0'D)'\'''
以下常用转义符号代表换行的是()。
A)\nB)\tC)\rD)\b
5、算术运算符的计算++,--,+=等二目运算符如a=12,a-=a+=a*a等;
(1)如i=9,计算++i;i++等(解析:
设j=i++;则执行顺序为:
j=i=9;i=i+1;也就是i++的结果为9;而设j=++i;执行顺序为:
i=i+1;j=i=10,也就是++i的结果为10)
(2)复合运算符如a=12,计算a-=a+=a*a,从后向前算,在计算的同时注意变量是否发生了改变
6、逗号运算符与逗号表达式的值
逗号表达式(a=3*5,a*4),a+15的值是()。
7、逻辑运算符!
&&||与条件运算符和三目运算符的正确使用exp1?
exp2:
exp3,
如inta=3,b=5;则if(a>b)?
a++:
++b的结果为()。
&&和||运算中的短路问题
第四章
1、赋值语句的正确使用,能区分是否为正确赋值语句
下面语句最正确的结构是()。
A)ifx=3y=4elsey=3;B)if(x==3)y=4elsey=3;
C)if(x=3)y=4elsey=3;D)ifx==3y=4elsey=3;
2、输入输出库函数(scanf,printf,getchar,putchar,puts,gets)以及库函数的使用和库函数的预处理
以下程序的输入正确的数据是()。
scanf(“%d,%d%d”,&a,&b,&c);
printf(“%d%d%d”,a,b,c);}
A)1,1020B)11020C)1,10,20D)11020
源程序中用到了strcat函数,需要包含的库文件为________。
除此之外,其他函数如sqrt,pow(x,y),strcpy,strlen等函数的库文件math.h和string.h
3、几种常用的格式控制符如%md,%ms,%f结合输出的有效位数
4.实验习题,包括相关顺序结构公式等,f=5/9*(c-32);y=sin(x)^2;s=1/2*(a+b+c)等公式:
注意5/9,1/2结果为0,必须写成5.0/9,1.0/2等
5、从键盘输入一个3位整数,将输出该数的逆序数。
第五章
1、关系运算符的正确使用如根据给出的关系运算符和表达式计算出结果,结合三目运算符
若a=3,b=-14,则条件表达式a
b+1:
a的值为()。
A)-14B)-13C)4D)3
2、能正确记忆逻辑运算符和之间的优先次序,并正确使用如根据给出的逻辑运算符和表达式计算出结果或者能正确判别逻辑运算符两侧的对象使用范围
(1)写出以下表达式的结果_______。
表达式为:
(x==y)&&(a>b)||!
a其中a=0,b=-1;x=5,y=9
(2)注意短路:
若x,y,z均为int型变量,则执行以下语句,输出结果为()。
x=y=z=0;
++x||++y&&++z;
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
3、条件运算符(三目运算符)的正确使用
若a=3,b=-14,则条件表达式a
–b:
a++的值为()。
4、if语句、switch语句和break以及continue的联合使用:
读程序写结果,对应例题
switch语句使用中,只要有一条case满足,则其后的所有case和default条件都可以删除,能够结束switch的只有break这一个单词,否则后续的语句要全部执行
(1)设有说明:
inta=1,b=0;则执行一下语句后的输出结果是:
()
switch(a)
{case1:
switch(b)
{case0:
printf(“**0**\n”);break;
case1:
printf(“**1**\n”);break;
}
case2:
printf(“**2**\n”);break;
}
A)**0**
B)**0**
**2**
C)**0**
**1**
**2**
D)存在语法错误
(2)以下程序当输入score为3时,程序的运行结果是____thankyou_bye-bye____。
voidmain()
{intscore;
scanf(“%d”,&score);
switch(score)
{
case5:
printf(“hello”);break;
case4:
printf(“world”);
case3:
printf(“thank”);
case2:
printf(“you”);
case1:
printf(“bye-bye”);break;
}
}
5、能正确使用条件语句和选择语句编程:
(1)实验题:
录入成绩输出A-E等;
(2)数学分段函数计算,尤其是已知x求对应的变量y;(3)闰年的判断
6.实验题
(1)读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体;
(2)输入某一年月,输出该月的天数;
(3)从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。
第六章
1、for语句的正确使用,能正确掌握并理解起始条件、结束条件和跳转条件等
执行以下程序段后的a值是(),b值是()
inta,b;
for(b=1,a=1;b<=5;b++)
{if(a>=10)break;
if(a%2==1)
{a+=5;
continue;
}
a-=3;
}
2、能正确使用while语句和Do语句
执行以下程序,循环次数判断正确的是()
intx=-3;
do{printf(%d\n”,x++);
}while(!
x);
A)-3
B)-2
C)陷入死循环
D)-3
-2
-1
3、能自行把握三种语句之间的转换
下列程序段是死循环的是()
A)intn=1;
while(!
n)
n++;
B)intn=1;
do{n--;}while(n);
C)intn=1;
do{n++;}while(n);
D)for(n=5;n<1;)n++;
4、能正确判断While语句或者Do语句的循环次数以及写出循环结果
执行以下程序,输出结果为。
inti,j,m=0;
for(i=1;i<8;i+=2)
for(j=4;j<=7;j++)
m++;
printf(“%d\n”,m);
5,能正确使用for、while和do循环语句编程,主要习题:
(1)数学计算如编写程序计算
n!
、
1+2+3+……+n;
1!
+2!
+3!
+……+n!
;
变形1!
-2!
+3!
-……+n!
等;
(2)编写程序计算圆周率PI=1-1/3+1/5-1/7+……;编写程序判断m是否为素数;输出100-200之间的所有素数;(3)计算特殊习题,如fib数列等;(4)现实应用如输出九九乘法口诀表、输出特殊图形;
6、相关实验题
(1)从键盘上输入若干个学生的成绩(0-100之间),统计并输出最高成绩和最低成绩,当输入无效数据时结束输入;
(2)求所有的水仙花数。
水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身;
(3)判断输入的某个数是否为素数。
若是,输出YES,否则输出NO;
(4)计算π的近似值。
公式如下:
π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小于10-6为止;
(5)计算s=1!
+2!
+……+20!
的值并输出;
(6)编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的等级成绩。
设:
90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E;
(7)百马百担问题。
第七章
1、一维数组的定义和初始化如能正确判断数据定义的正误等
2、二维数组定义与初始化如定义的长度与给定的数组元素个数之间的关系和二维数组的正确的初始化和维数的计算
以上两点注意注意赋值的对错判断
3、字符数组的处理函数strcat,strcmp,srlen,puts等能正确应用,掌握库函数的预处理
4、正确使用数组编程,主要习题包括:
(1)一般应用,如数组数据的存储(输入输出)、求数组的最大值(和下标)、最小值(和下标)、计算数组的和、平均值等;
(2)结合循环实现选择排序、冒泡排序等;
5、后续注意的问题:
编程中的初始赋值和指针的关系,特殊例题:
不使用strlen函数,自行写出具有strlen功能的程序;
6、实验题目
(1)写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现);
(2)编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串;(3)给定某年某月某日,将其转换成这一年的第几天并输出
第八章
1、函数与类型关系以及顺序先后
一个C语言程序总是从()。
A)主过程开始执行B)主函数开始执行C)子程序开始执行D)主程序开始执行
main主函数的位置()
A)在前B)在后C)随意D)位置固定
2、函数的定义以及各参数之间的传递:
形参与实参的值传递(单向、复制)尤其注意读程序写结果
(1)#include“stdio·h”结果:
voidmain()
{voidchange(intx,inty);
inta=20,b=30;
change(a,b);
printf("a=%d,b=%d\n",a,b);
}
voidchange(intx,inty)
{intt;
t=x;x=y;y=t;}
2.结果:
#include“stdio·h”
voidmain()
{intswap(int*a,int*b);
intx=11,y=77;
int*p1=&x,*p2=&y;
swap(p1,p2);
printf(“x=%d,y=%d\n”,x,y);
}
intswap(int*a,int*b)
{intt;
if(a
{t=*a;*a=*b;*b=t;}
}
3、函数值的返回的应用
4、函数的调用:
正确读程序写结果;与循环结合
5、函数应用中的数据名作函数参数的处理
6、能正确根据题目要求编写函数并正确调用如
(1)根据海伦公式编写计算圆面积函数并调用、
(2)编写排序函数并调用(3)判断素数(水仙花数等)(4)自定义函数strlength,其功能是计算字符串的长度,并在main函数中调用等;
7、实验题目
(1)从键盘输入三角形的3条边,根据海伦公式调用三角形面积函数求出其面积,并输出结果;
(2)自定义排序函数,在main函数中调用;(3)自定义函数strlength,其功能是计算字符串的长度
第九章
1、宏定义、宏替换应用(上课实例,注意())
2、全部变量与外部变量的区别与应用
3、注意静态变量Static应用,注意实验习题
第十章
1、指针、地址、指针变量等定义与理解
(1)指针的基本应用;
(2)指针表示任意数组元素的四种形式;(3)指针与数组以及C语言规定:
数组名表示首地址等
2、*,&的使用
执行以下程序后,a的值为()。
int*p,a=20,b=30;
p=&a;a=*p+b;
A)20B)30C)50D)编译出错
3、指针在数组中的使用(调用),注意:
指针变量作为函数参数的应用——对函数结果的影响
4、*p的++,--应用
注意:
*p++等的用途与区别
5、数组元素的访问方式(4种)
6、读程序写出结果
(1)下列main程序运行后的结果为。
#include"stdio.h"
#defineN20
voidfun(inta[],intm,intn)
{inti;
for(i=m;i<=n;i++)
a[i]=a[i+2];
}
voidmain()
{
inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,8);
for(i=0;i<5;i++)
printf("%d",a[i]);
}
(2)自定义swap1(inta,inb)和swap2(int*a,int*b)交换函数,分别不同的类型做参数,main函数调用swap1和swap2后输出程序结果
7、实验:
编写一个程序计算字符串长度的函数,模拟C的
第11章
1、结构体的定义与理解P284-285
VisualC++6.0结构体变量引用规则中,说法正确的是()。
A)结构体变量成员特殊,只能引用变量成员地址,不能引用结构体变量地址
B)可以对结构体变量整体输出
C)可以对结构体变量整体输入
D)访问结构体变量中的“.”运算符,在所有的运算符中优先级最高
2、结构体的初始化和赋值以及结构体成员的访问
结构体初始化完成后,如何访问学号“012222”等
3、结构体的填空编程(读程序写结果)
4、共同体的理解
5、typedef定义理解
第12章
1、文件的分类与C语言文件的基础知识(三种不同分类方法)
2、文件打开与关闭的一般形式
C语言中可以用以下哪个函数打开文件()。
A)fopenB)feofC)fwriteD)fclose
已定义FILE*fp,只写文件方式打开文件名a1的二进制文件,正确的语句是()。
A)fp=fopen(“a1”,“wb”);B)fp=fopen(“w”,“a1”);
C)fp=fopen(“wb”,“a1”);D)fp=fopen(“a1”,“w”);
3、文件方式的记忆
4、文件读写
5、文件的定位
第一套试题
一、单项选择题(15个小题,每题2分,共30分):
1.一个C语言程序的执行是从_____。
A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束
C.第一个函数开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束
2.正确的自定义标识符是_____。
A.x_2B.a-bC.2sumD.$123
3.下面程序的运行结果是_____。
#defineF(x)x*x
voidmain()
{inta=2,b=1;
prinft(“%d\n”,F(a+b));
}
A.3B.5C.8D.9
4.读以下程序段,判断a的值为_____。
int*p,a=10,b=1;
p=&a;
a=*p+b;
A.12B.10C.11D.编译出错
5.根据以下说明语句,则下面的叙述中不正确的是_____。
structstudent
{intnum;
charname[10];
intscore;
}stu;
A.struct是定义结构体类型的关键字B.stu是结构体变量名
C.num,name,score都是结构体成员名D.stu是结构体类型名
6.已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是_____。
A.DB.67C.一个不确定的值D.C
7.以下哪种方法不能对一维数组进行正确的初始化_____。
A.inta[]={1,2,3};B.inta[5]={};
C.inta[5]=(1,2,3,4,5);D.inta[]={2,3,4*5,6};
8.已正确定义字符变量ch1,下面能正确赋值的是_____。
A.ch1=“a”;B.ch1=‘a’;
C.ch1=“C语言程序设计”;D.ch1=‘C语言程序设计’;
9.逗号表达式(a=3*4,a*4),a+5的值是_____。
A.53B.17C.20D.48
10.设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_____。
A.n=(n*100+0.5)/100.0B.n=n*100+0.5/100.0
C.m=n*100+0.5,n=m/100.0D.n=(n/100+0.5)*100.0
11.设i=2,j=3,则表达式(i++)*(++j)的值为_____。
A.6B.8C.9D.12
12.关于以下程序段,说法正确的是_____。
x=-1;
do
{x=x*x;}while(!
x);
A.死循环B.循环体执行二次C.循环体执行一次D.有语法错误
13.若有下列定义:
charc[5],*p=c;则对c数组元素地址的正确引用是_____。
A.p+2B.&c[5]C.c++D.&c
14.当调用函数时,实参是一个数组名,则向函数传送的是_____。
A.数组的长度B.数组每个元素中的值
C.数组每一个元素的地址D.数组的首地址
15.文件中利用fopen函数打开文件,如果以只读方式打开二进制文件,则以下打开方式正确的是_____。
A.r+B.rbC.wbD.ab
二、填空题(5个小题,每题2分,共10分):
1.若有inti=1,j=7,a;执行语句a=i+(j%4!
=0);后,a的值是_______。
2.执行以下程序后,运行结果是_______。
#include
voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1){b+=3;continue;}
}
printf(“%d\n”,a);}
3.源程序中用到了strcat函数,需要包含的头文件(即库文件)为_______。
4.执行以下程序后,运行结果是_______。
#include
voidmain()
{inta=2;
floatn=5.888,b;
b=a+(int)n;
printf(“%f\n”,b);}
5.语句scanf("a=%d,b=%d",&a,&b);若将3和4分别输入给a和b,则正确的输入方式为____
三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分):
1.#include
voidmain()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;}
printf(“a=%d,b=%d\n”,a,b);}
2.在运行以下程序时,输入“TurboC++3.0”,写出程序的运行结果。
#include
voidmain()
{charstr[40];
printf("Inputastring:
");
scanf("%s",str);
puts(str);}
3.#include
voidf(inty)
{staticinti=5;
intj=3;
j++;
printf(“%d+%d+%d=%d\n”,i,j,y,i+j+y);
i*=2;}
voidmain()
{intx;
for(x=1;x<=2;++x)f(x);}
4.#include
voidswap(int*pa,int*pb)
{int*p;
p=pa;
pa=pb;
pb=p;}
voidmain()
{inta=10,b=20;
int*p1=&a,*p2=&b;
if(a
printf("%d,%d\n",a,b);}
5.#include
inta=5;intb=7;
intplus(intx,inty)
{intz;
z=x+y;
return(z);}
voidmain()
{inta=4,b=5,c;
c=plus(a,b);
printf(“a+b=%d\n”,c);}
四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分):
1.输出九九表。
#include“stdio.h”
voidmain()
{inti,j;
for(i=1;i<=9;i++)
{for(j=1;①;j++)
printf(“%3d*%d=%2d”,i,j,i*j);
②;
}
}
2.利用函数形式,求x数组所有元素的平均值并输出。
#include“stdio.h”
①;
voidmain()
{floatavg,x[10]={1.2,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 提纲