收藏 分享(赏)

C语言重点难点及练习题.ppt

上传人:saw518 文档编号:5886882 上传时间:2019-03-20 格式:PPT 页数:37 大小:1.71MB
下载 相关 举报
C语言重点难点及练习题.ppt_第1页
第1页 / 共37页
C语言重点难点及练习题.ppt_第2页
第2页 / 共37页
C语言重点难点及练习题.ppt_第3页
第3页 / 共37页
C语言重点难点及练习题.ppt_第4页
第4页 / 共37页
C语言重点难点及练习题.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、程序逻辑与C语言 重 点 难 点 分 析,程序逻辑与C语言 重 点 难 点 分 析,c课程分析,是核心基础课程; 课程要求 熟练地运用C语言及开发工具; 养成良好的编程风格; 培养学生的实际操作动手能力; 培养学生的抽象思维能力;,第一章重点,算法与算法的描述(实现) 程序=算法+语言+数据结构 掌握C 程序的编译和运行过程,第二章重点,理解类型转换 自动转换 系统根据规则自动将两个不同数据类型的运算对象转换成同一种数据类型的过程 强制转换 允许程序员根据自己的意愿将一种数据类型强制转换成另一种数据类型 强制转换 一般形式:(类型名)(表达式) 强制转换得到所需类型的中间变量,原变量类型不变,

2、scanf() 和printf() 函数 标准输入函数 标准的输出函数 运算符 %与/注意事项 +与运算符,赋值运算符的用法 逻辑运算符 sizeof 运算符 运算符的优先级 顺序结构,第三章重点,条件结构 If语句三种形式 熟练使用嵌套if 结构 熟练使用switch 结构 case后面的数据一定是常量,且不能够相同; break语句是可选的; default语句也是可选的,且是无序的; case语句也是无序的;条件运算符 value = num 100 ? y : n;,第四章重点,循环结构 while 循环的使用 理解while 和do-while 循环的区别,第五章重点,第六章重点,1

3、、熟练使用for 循环 2、理解break 和continue 语句的用法 3、熟练使用嵌套循环,第七章数组,一维数组的使用 二维数组的使用 数组实现常用的算法 1、求最大值和最小值 2、 查找 3、 排序 4、 插入,第八章指针,定义指针变量 掌握对指针的操作 理解指针和数组的关系,第九章函数,函数原型和函数的返回值 自定义函数的定义和调用 两种参数传递的方式:传值、引用 带参函数的调用,第十章字符串,理解字符数组和字符串的异同 字符串输入/输出函数 字符串处理函数 指针与字符串的关系 字符指针数组 字符串作为函数参数,第十一章结构体,定义结构 声明结构变量 访问结构成员 结构作为函数参数的

4、用法,第十二章文件操作,1.文件的概念 2.文件类型的指针 3.文件的打开和关闭 4.文件的读写 5.文件的存储 6.出错的检测,正确答案:C,1在C语言中,若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 ( )。x=(i=4,j=16,k=32) A、4 B、16 C、32 D、52,正确答案:C,2在C语言中,判断char型变量ch是否为大写字母的正确表达式是( )。 A、A=A)& (ch=A)&(ch= ch),正确答案:A,3. 在C语言中,判断下面函数aaa的功能是( )。 int aaa(char *s) char *t=s while(* t+); return

5、(t-s); A、 求字符串长度 B、 比较两个串的大 C、 将串S复制到串t中 D、 以上三种说法均不对,正确答案:D,4在C语言中,设有以下定义: struct student int num, age; ; struct student stu3=1001,20,1002,19,1003,21; struct student *p=stu; 则以下错误的引用是( )。 A、(p+)-num B、p+ C、(*p).num D、p=&stu.age,正确答案:C,5在C语言中,若有定义:int (*p)4;则标识符p( )。 A、是一个指向整型变量的指针 B、是一个指针数组名 C、是一个指

6、针,它指向一个含有四个整型元素的一维 数组D、定义不合法,正确答案:A,6. 在C语言中,选择下列程序的运行结果( )。 void fun(int *p) int a=10; p=&a; +*p; void main() int a=5; fun(&a); printf(“%dn”,a); A、5B、6C、10D、11,正确答案:D,7在C语言中,有以下函数 fun(char *a,char *b) while(*a!=0) 该函数的功能是( )。 A、计算A和B所指字符串的长度之差。 B、将B所指字符串复制到A所指的字符串中。 C、将B所指字符串连接到A所指的字符串后面。 D、比较A和B所指

7、字符串的大小。,正确答案:D,7在C语言中,有以下函数 fun(char *a,char *b) while(*a!=0) 该函数的功能是( )。 A、计算A和B所指字符串的长度之差。 B、将B所指字符串复制到A所指的字符串中。 C、将B所指字符串连接到A所指的字符串后面。 D、比较A和B所指字符串的大小。,正确答案:A,8在C语言中,若px为指针变量名,y为变量名,则y=*px+;等价于( )。 A、y=*px; px+; B、y=(*px)+; C、y=px; px+; D、y=*(px+);,正确答案:D,9在C语言中,在定义char s55之后,第8个元素是( )。 A、s44 B、s

8、14 C、s13 D、s12,正确答案:B,10. 在C语言中,下列程序的输出结果是( )。 struct abc int a, b, c; ; main() struct abc s2=1,2,3,4,5,6; int t; t=s0.a+s1.b%s0.c; printf(“%d n“,t); A、2B、3C、4D、7,正确答案:D,11. 在C语言中,以下程序的运行结果是( )。 main() struct date int year,month,day; today; printf(“%dn“,sizeof(struct date); A、6 B、8C、10D、12,正确答案:D,12

9、. 在C语言中,有以下说明和语句: struct worker int no; char*name; work,*p= 则以下引用方式不正确的是( )。 A、work.no B、(*p).no C、p-no D、work-no,正确答案:A,13在C语言中,若fp已正确定义指向某个文件,当未遇到该文件结束标志时函数feof(fp) 的值为( )。A、0B、1C、-1D、一个非0值,正确答案:C,14在C语言中,标准函数fgets(s,n,f)的功能是( ) A、从文件f中读取长度为n的字符串存入指针s所指的内存 B、从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 C、从文件f中读取

10、n个字符串存入指针s所指的内存 D、从论据f中读取长度为n-1的字符串存入指针s所指的内存,正确答案:A,15在C语言中,下面的程序执行后,文件test.txt中的内容是( )#include #include void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,“w“ ); for(i=0;istrlen(st); i+)fputc(sti,myf); fclose(myf); void main() fun(“test.txt“,“new world“); fun(“test.txt“,“hello“); A、h

11、elloB、new worldhelloC、new helloD、hello, rld,正确答案:B,16在C语言中,若要打开C盘上user子目下名为abc.txt的文本文件进行读写操作,下面符合此要求的函数调用是( ) A、fopen(“C:userabc.txt”,”r”) B、fopen(“C:userabc.txt”,”r+”) C、fopen(“C:userabc.txt”,”rb”) D、fopen(“C:userabc.txt”,”w”),#include int main() int n,a,b; printf(“There are following number with

12、4 digits satisfied conditionn“); for(n=1000;n10000;n+) /*四位数N的取值范围10009999*/ a=n/100; /*截取N的前两位数存于a*/ b=n%100; /*截取N的后两位存于b*/ if(a+b)*(a+b)=n) /*判断N是否为符合题目所规定的性质的 四位数*/ printf(“%d “,n); ,17.求具有abcd=(ab+cd)*(ab+cd)性质的四位数 3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。 写C语言程序求出具有这样性质的全部

13、四位数。,void fun( int a ) printf( “%d“, a%10 ); a /= 10; if( a =0 )return;fun( a ); ,18用C 写一个输入的整数,倒着输出整数的函数。,#include int main() int a16=64,b16=0,i,j;for(i=1;i16;i+)ai=(15*ai-1+97)%256;printf(“数组a的值:“);for(i=0;i16;i+)printf(“n第%d项:%-4d“,i,ai);for(i=0;i16;i+)for(j=0;j16;j+)if(ajai)bi+;printf(“nn数组b的值:“

14、);for(i=0;i16;i+)printf(“n小于第%d项的数有%d个“,i,bi); ,19. 建立数组a16,方法是:先置a0=64,其余元素按公式: ai=(15*ai-1+97) % 256 生成,然后对数组a进行如下操作:(1)输出a的元素值。(2)对每个元素ai,求出整个数组a中小于ai的元素个数存入bi,并输出b数组的元素值。请用C语言实现。,#include #include #include #define LEN 5 void main() char* idsLEN;char temp100;int i, j; printf(“请输入学生编号:n“);for (i =

15、 0; i 5; i+)printf(“第%d个编号:n“, (i + 1);gets(temp);idsi = (char*)(malloc(sizeof(char) * strlen(temp) + 1);strcpy(idsi, temp);,20.请编写C程序,从控制台接收5个为字符格式的学生编号,将其由小到大排序保存至名student.txt文件中。,for (i = 0;i0) strcpy(temp,idsj-1);strcpy(idsj-1,idsj);strcpy(idsj,temp); FILE *fp;fp=fopen(“student.txt“,“w“);for (i=0;i5;i+)fputs(idsi,fp);fputs(“n“,fp);puts(idsi);fclose(fp); ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报