C语言学习要点:
第三章
合法的标识符命名规则。各种运算符的语法,优先级结合性。转义字符。
输入输出概念,输入时候的分隔符,常用的输入输出格式
第四章 选择
if 语句 switch 语句
if(x=***) if(x= =***) 的区别
break 跳出一层 不能多层
第五章 循环
几种循环语句要熟悉使用方法,循环嵌套
第六章 数组
数组定义使用
二维数组输入输出的方法!
起泡法排序(又叫冒泡法)
字符串的灵活使用,编程的时候灵活处理
第七章 函数
函数基本概念
函数原型 ---构造一个函数,解决一个问题
函数递归:求阶乘,Fibonacci 数列,猴子吃桃 等类似的递归数列的第n 项。
数组名作参数的题目
选择法排序
全局变量局部变量 存储类别
局部变量对全局变量的屏蔽
被调函数里 static 类型的变量的值
c语言数组最大值最小值
第八章 指针
灵活使用简单指针变量,即 int *p; float *p; char *p; 等等。
所学的所有 有关指针变量的定义 记住
第九章 结构体和共用体
基本概念 链表的操作的关键语句
第十章 文件
基本概念 打开关闭文件,常用的几个输入输出函数
算法:起泡法排序,选择法排序,杨辉三角,求素数方法,最大公约数和最小公倍数方法,一维数
组的最大值,最小值平均值或求和等,二维数组的输入输出,求各种值,特殊二维数组的填充,矩
阵转置等等。对一维数组的操作,如逆序存放,按指定要求的操作。
字符串:逆序存放,大小写,求长度,复制,连接,等等指定的某种操作(灵活)
字符串一维数组的灵活操作,会用函数完成。
按题目的要求,用函数完成处理过程。
关系到算法的题目:编写程序 29 分。程序填空20 分。读程序也有关系,21 分。
选择题,一般是基本概念。
模拟题A (闭卷考试)
一、选择题(每题2分,共20分)
1、以下不正确的C 语言标识符是 。
A. ABC B. abc C. a_bc D. ab.c
2、已知各变量的类型说明如下,则以下不符合C 语言语法的表达式是: 。
int k,a,b;
unsigned long w=5;
double x=1.422;
A. k=(a=2,b=3,a+b) B. w+=-2 C. x%(-3) D. a+=a=+(b=4)*(a=3)
3、下述for 循环语句 。
int i,k;
for(i=0,k=-1;k=1;i++,k++) printf("* * * *");
A. 判断循环结束的条件非法 B. 一次也不循环
C. 只循环一次 D. 是无限循环
4、在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是 。
A. 5 B. 4 C. 2 D. 1
5、在C 语言程序中,以下描述正确的是 。
A. 函数的定义和函数的调用均不可以嵌套
B. 函数的定义和函数的调用均可以嵌套
C. 函数的定义不可以嵌套,但函数的调用可以嵌套
D. 函数的定义可以嵌套,但函数的调用不可以嵌套
6、如果在一个函数的复合语句中定义了一个变量,则该变量 。
A. 在该函数中任何位置都有效
B. 只在该复合语句中有效,在该复合语句外无效
C. 在本程序的源文件范围内均有效
D. 此定义方法错误,其变量为非法变量
7、若有定义:int a[3][4]; ,则 不能表示数组元素a[1][1]。
A. *(a+5) B. *(a[1]+1) C. *(&a[1][1]) D. (*(a+1))[1]
8、有如下程序段:
int *p,a=10,b=2;
p=&a;a=*p+b;
执行该程序段后,a 的值是 。
A、12 B、11 C、10 D、编译出错
9、以下 是不正确的转义字符。
A. '\\' B. '\t' C. '\0' D. '\081'
10、当用户定义了一个结构体变量时,系统分配给它的内存为 。
A.结构中第一个成员所需内存量 B. 成员中占内存量最大者所需的容量
C.各成员所需内存的总和 D. 结构中最后一个成员所需内存量
二、读程序写结果(每题3分,共21分)
1、以下程序运行后输出的结果是 。
#include <stdio.h>
void main()
{ int x=3,y=1,z;
x*=3+2;
printf("%d ",x);
x*=y=z=4;
printf("%d\n",x);
}
2、以下程序的输出结果是 。
#include <stdio.h>
void main()
{ int x=1,y=1,a=0,b=0;
switch(x)
{ case 1: switch(y)
{ case 0: a++;break;
case 1: b++;break;
}
case 2: a++;b++;break;
case 3: a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
3、以下程序的输出结果是 。
#include <stdio.h>
struct abc { int a; int b; int c; };
void main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;
t=s[0].b+s[1].c;
printf("%d \n",t);
}
4、以下程序的输出结果是 。
#include<stdio.h>
void add()
{ int x=1;
static int y=3;
printf("%d %d ",x,y);
x=x+3;
y=y+5;
}
void main()
{ int i;
for(i=0;i<2;i++)
add();
}
5、以下程序的输出结果是 。
#include <stdio.h>
int x;
void cude()
{ x=x*x*x;
}
void main()
{ x=4;
cude();
printf("%d\n",x);
}
6、以下程序的输出结果是 。
#include <stdio.h>
void fun(int *a, int *b, int *c)
{ int *temp;
temp=a; a=b; b=temp;
*temp=*b, *b=*c; *c=*temp;
}
void main()
{ int a,b,c,*p1,*p2,*p3;
a=4; b=5; c=6;
p1=&a; p2=&b; p3=&c;
fun(p1,p2,p3);
printf("%d,%d,%d\n",a,b,c);
}
7、以下程序运行的结果是 。
#include<stdio.h>
void prtv(int * x)
{ printf("%d\n",++*x);
}
void main()
{ int a=8 ;prtv(&a);
}
三、程序填空(每空2分,共20分)
1、以下程序用递归法求Fibonacci 数列的第8 项的值。请把函数补充完整。Fibonacci 数列的公式
为:F(1)=F(2)=1 ;当n>2 时,F(n)=F(n-1)+F(n-2)。
#include<stdio.h>
int Fibonacci(int n)
{ int f;
if(n==1||n==2) ⑴ ;
else f=Fibonacci(n-1)+Fibonacci(n-2);
return(f);
}
void main()
{ printf(" The result is %d\n", ⑵ );
}
2、以下程序用来求两个正整数m 和n 的最大公约数。把程序补充完整。
#include<stdio.h>
void main()
{ int m,n;
int p;
scanf("%d%d",&m,&n);
p= ⑶ ;
while( ⑷ )p--;
printf("The result is %d\n",p);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。