C语言程序设计基础复习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

float fact(int k) { float y=1; int i;
2、构造类型 构造类型包括数组和结构 (1) 数组 熟练掌握一维和二维数组的定义和初始化, 数组元素的引用。 包括一维字符数组和字符串
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组 元素 a[1][1] 的值为4。
不正确的赋值或赋初值的方式是______。 A、char str[]="s"; B、char str[7]={'s'}; C、char str[10];str="s"; D、char str[7]={'s',’\0’};
++p->str中的++加在_____。
struct { int len; char *str;
} *p; A、指针str上 B、指针p上 C、str指的内容上 D、以上均不是
main( )
{ struct st {
int x, y; }a[4]={{10,20},{30,40},{50,60},{70,80 }}; struct st *p=a; printf("%d,", p++->x); printf("%d,", ++p->y); printf("%d\n", (a+3)->x); }
int f(int k) {
return ((k<0)?1:f(k-2)+2); } printf(“%d\n”, f(3));
(3) 熟练掌握标准库函数的调用 常用数学函数: cos、sqrt、pow、exp、fabs、log、等 常用字符函数: isdigit、islower、toupper等 常用字符串函数: strcpy、strcmp、strcat、strlen等
示形式、长整型常量的表示形式,实数的 浮点表示法和科学记数法,字符的转义序 列。
以下选项中不正确的整型常量是_____ A、0x1 B、01 C、20L D、12.34
以下选项中不正确的字符常量是_____ A、’\t’ B、’a’ C、”1” D、 ‘1’
(2) 变量 熟练掌握变量的定义和初始化
void main() { struct student s[SIZE];
int k,sub=0; for(k=0; k<SIZE; k++) { scanf("%s%d%d",s[k].name,&s[k].math,&s[k].eng); s[k].aver = (s[k].math+s[k].eng)/2.0 } for(k=1; k<SZIE; k++)
struct node { int num; struct node *next;
}
Head
4
3
5
6
7 NULL
printf("%d\n",fun(head));
Head
4
3
5
6
int fun(struct node *h)
7 NULL
{ int k=0;
struct node *p=h; *q=NULL;
下列语句定义 pf 为指向 float 类型变量 f 的指 针,_____是正确的。
A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f;
4、构造类型和指针类型的混合定义及应用 (1) 熟练掌握指针、数组和地址间的关系 int c[ ]={1, 3, 5}; int *k=c+1; printf("%d", *++k);
C语言中,形参的缺省的存储类说明是
______。
A、auto
B、static
C、register D、extern
对于以下函数f,计算f(f(2))的值。 int f(int x) { static int k=0; x+=k++; return x; }
3
2.2 运算及流程控制
1、基本运算 熟练掌握运算符的功能 熟练掌握运算符的优先级、结合性和目数 熟练掌握隐式类型转换和强制类型转换
(3) 熟练掌握结构数组 输入某班50位学生的姓名及数学、英语成绩,
计算每位学生的平均分;然后输出平均分最高 的学生的姓名及其数学和英语成绩。 #include <stdio.h>
#define SIZE 50 struct student{ char name[10];
int math,eng; float aver; };
int *pa, a; pa=&a;
pa
9a
printf("%d,%d, %d", *pa, a,*&a );
printf("%x,%x, %d", pa, &a, &*p);
若变量已正确定义并且指针p已经指向某个变 量x,则(*p)--相当于_____。
A、p-- B、x-- C、*(p--) D、&x- -
若x是单精度实型变量,表达式 (x = 6/5) 的 值是 1.0 。
下列运算符中,优先级最低的是_____。
A、* B、!= C、+
D、=
算术运算符、赋值运算符和关系运算符的运 算优先级按从高到低的顺序依次为_____。
A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算
while(p){
if((q!=NULL)&&(p->next)) k+=p->num;
q=p;
p=p->next;
}
return k;
}
5、空类型 void 掌握空类型的定义和使用
6、变量的存储类别、作用域和生存期 (1) 掌握变量的存储类别 auto 自动型、static 静态型、extern 外部参照 型 (2) 掌握全局变量和局部变量 注意区分:自动局部变量和静态局部变量、全 局变量和静态全局变量、外部变量
char str[ ]="hello\tworld\n"; printf("%c\n", *(str+10));
static char s[ ]="student"; printf("%s\n", s+2);
(2) 熟练掌握指针数组 写出下列程序段的输出结果。 char *st[ ]={"one","two","three","four"}; printf("%s\n",*(st+3)+1);
&&
,
||
若变量已正确定义且 k 的值是 4,计算表达 式 ( j = k- -) 后,j和k的值分别是_____。
已知字符 ‘a’ 的ASCII码为 97 ,执行下列 语句的输出是_____。
printf ("%d, %c", ’b’, ’b’-1 ) ;
判断i和j至少有一个值为非0的表达式是 _____。
{ *x = 10; y= 50;
z = 1; printf("%d, %d, %d#", *x, y, z); }
void main() { int x=1, y=5, z=9;
p(&x, y); printf("%d, %d, %d#", x, y, z); }
3、函数的调用 (1) 函数调用的一般格式 熟练掌握通过函数名调用函数,了解通过函 数指针调用函数 (2) 掌握函数的嵌套调用和递归调用
3、语句 (1) 熟练掌握表达式语句、空语句、复合语句; (2) 熟练掌握简单控制语句 break、continue、return (3) 熟练掌握选择控制语句 if、switch (4) 熟练掌握重复控制语句 for、while、do—while
C 语言程序的三种基本结构是顺序结构、选 择结构和______结构。
写出下列程序段的输出结果。 int k, x; for (k=0, x=0; k<=9&&x!=10; k++)
x += 2; printf ("%d, %d", k, x) ;
2.3 程序结构和函数
1、程序结构 熟练掌握main函数与其他函数之间的关系 包括标准库函数和自定义函数
2、函数的定义 (1) 熟练掌握函数定义的ANSI C格式 (2) 熟练掌握函数的参数(形式参数和实在参 数)及参数传递,包括指针作为函数的参数 (3) 熟练掌握函数的返回值,包括指针作为函 数的返回值
A、 i!=0 && j!=0 B、i || j
C、!(i==0 || j==0) D、i&&j
表达式 !x 等价于_____。
A、x==0
B、x==1
C、x != 0
值为 0 。
int k, a=1, b=2 ; k = ( a++ == b) ? 2 : 3 ; printf("%d",k);
目录
1. 基本要求 2. 基本内容
1. 基本要求
熟练掌握C 语言的基本知识 具备基本的C程序设计能力,能熟练地阅
读、理解和编制简短的C程序。
2. 基本内容
2.1 数据的定义 2.2 运算及流程控制 2.3 程序结构和函数 2.4 数据的输入和输出 2.5 编译预处理 2.6 常用算法
2.1 数据的定义
printf("%d, ",s); for(s=0,k=0; k<2; k++)
s+=a[k][1-k]; printf("%d",s); }
(2) 结构 熟练掌握结构类型的定义,结构变量的定义
和初始化,结构变量成员的引用。
3、指针 (1) 熟练掌握指针和地址的概念 (2) 熟练掌握指针变量的定义和初始化 (3) 熟练掌握通过指针引用指向实体
if(s[k].aver>s[sub].aver ) sub = k; printf("%10s%3d%3d\n",s[sub].name,s[sub].math,s [sub].eng); }
(4) 熟练掌握结构指针 (5) 掌握结构中含指针或数组 (6) 掌握嵌套结构 (7) 掌握指向指针的指针(二级) (8) 单向链表 掌握单向链表的建立和遍历 了解插入和删除单向链表中的一个节点
输入m和n(m≥n≥0)后,计算下列表达式 的值并输出。
m! + n! 要求将计算阶乘的运算写成函数fact(n),函
数返回值的类型为float。
#include <stdio.h> float fact(int k); void main() { int m,n;
scanf("%d%d",&m,&n); printf("%f\n",fact(m)+fact(n)); }
A、循环 B、递归 C、转移 D、嵌套
C语言程序中可以对程序进行注释,注释部 分必须用符号 “/*”和”*/” 括起来。
分段函数 if(x>1) y=1; else if(x==1) y=0; else y= -1
写出下列程序段的输出结果。 char c,k; c=’b’; k=4; switch(c){ case ‘a’: k=1; case ‘b’: k=2; case ‘c’: k=3; } printf("%d\n",k);
要调用字符串处理函数时,在#include命令 行中应包含_____。
A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h”
在C语言程序中,若对函数类型未加显式说 明,则函数的隐含类型是int.
int z; void p(int *x, int y)
数据的定义包括数据类型和存储类别 1、基本类型
基本类型指整型、实型和字符型(主要是int, float, double, char;还包括long, unsigned, short)
(1) 常量 熟练掌握各种表示形式的整数、实数、和字
符(串)常量,符号常量的定义和使用。 包括整数的十进制、八进制和十六进制的表
表达式strcmp(“box”, “boss”) 的值是一个____. A、正数 B、负数 C、0 D、不确定的数
#include <stdio.h> int a[2][2]={{1,2},{5,6}}; void main( ) { int s,k;
for(s=0,k=0; k<2; k++) s+=a[k][k];
2、表达式 熟练掌握各类表达式的组成规则和计算过 程
() [ ] -> .
! ~ ++ -- - (类型名) * & sizeof 从右向左
*/%
+-
<< >>
< <= > >=
== !=
& (按位与)
^ (按位异或)
?:

| (按位或)
= += -= *= /= %= >>= <<= &= ^= |= 右
相关文档
最新文档