复习C1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x+=2; printf ("%d, %d", k, x) ;
2.2 运算及流程控制
输入12345#后,写出下列程序的输出结果。 void main() { char c; for(c=getchar(); getchar()!=‟#‟; c=getchar()) putchar(c); } int k ; char *s = “ABC”; for( k=10; k != 0; k-- ) ; printf ( "%d", k ); while( *s++ ) putchar( *s );
struct st *p=a; printf("%d,", p++->x); printf("%d,", ++p->y); printf("%d\n", (a+3)->x);
}
5、空类型 void
掌握空类型的定义和使用
2.1 数据的定义
6、变量的存储类别、作用域和生存期 (1) 掌握变量的存储类别 auto 自动型、static 静态型 (2) 掌握全局变量和局部变量 注意区分:自动局部变量和静态局部变量
判断i和j至少有一个值为非0的表达式是_____。 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 D、x != 1
表达式 (2==2==2) 的值是
。
若x是单精度实型变量,表达式 (x = 10/4) 的值是 A、2.5 B、 2.0 C、 3 D、 2
基 本 类 型 指 整 型 、 实 型 和 字 符 型 ( 主 要 是 int, float,
double, char;还包括long, unsigned, short)
(1) 常量
熟练掌握各种表示形式的整数、实数、和字符(串)常量, 符号常量的定义和使用。 包括整数的十进制、八进制和十六进制的表示形式、长整 型常量的表示形式,实数的浮点表示法和科学记数法, 转义字符,常用符号常量的含义(如NULL等) (2) 变量 熟练掌握变量的定义和初始化 printf(”%x,%o“,16,10); printf ("%d, %o, %x", 0x12, 12, 012);
的
#include <stdio.h> int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
1 2 4 5 7 8
3 6 9
void main()
{ int s,k;
for(s=0,k=0; k<3; k++) s+=a[k][k]; printf("%d--",s); for(s=0,k=0; k<3; k++)
2.1
数据的定义
(2) 结构
熟练掌握结构类型的定义,结构变量的定义
和初始化,结构变量成员的引用。
2.1
数据的定义
3、指针
(1) 熟练掌握指针和地址的概念
(2) 熟练掌握指针变量的定义和初始化 (3) 熟练掌握通过指针引用指向实体
int *pa, a=9; pa=&a; printf("%d,%d ,%d ", *pa, a, *&a); printf("%x,%x ,%x ", pa, &a, &*pa);
{ 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
}
2.1 数据的定义
(4) 熟练掌握结构指针
(5) 掌握嵌套结构
++p->str中的++加在_____。 struct { int len; char *str; } *p; A、指针str上 C、str指的内容上 B、指针p上 D、以上均不是
main( ) { struct st
{
int x, y;
}a[4]={{10,20},{30,40},{50,60},{70,80}};
s+=a[k][2-k];
printf("%d--",s); }
将输入的 n 个字符串连接成1个字符串后输出.
#include <stdio.h> #include <string.h> void main() { char str[10][20], string[200]; int k, n; scanf("%d", &n); for (k=0; k<n; k++) gets(str[k]); strcpy(string, str[0]); for (k=1; k<n; k++) strcat(string, str[k]); puts(string); }
2.1
数据的定义
(1) 熟练掌握指针、数组和地址间的关系 int c[ ]={1, 3, 5}; int *k=c+1; printf("%d", *++k); char str[ ]="hello\tworld\n"; printf("%d, %c\n", sizeof(str), *(str+10)); char s[ ]=“student"; printf("%s", s+2);
复
1. 基本要求
熟练掌握C 语言的基本
习
2. 基本内容
2.1 2.2
数据的定义 运算及流程控制 程序结构和函数 数据的输入和输出 编译预处理
知识
具备基本的C程序设计
2.3
2.4 2.5
能力,能熟练地阅读、 理解和编制简短的C程
序。
2.6
常用算法
2.1
数据的定义
数据的定义包括数据类型和存储类别 1、基本类型
4、构造类型和指针类型的混合定义及应用
2.1 数据的定义
(2) 熟练掌握指针数组 写出下列程序段的输出结果。
char *st[ ]={"one","two","three","four"};
printf("%s\n",*(st+3)+1);
(3) 熟练掌握结构数组
输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分; 然后输出平均分最高的学生的姓名及其数学和英语成绩。
= += -= *= /= %= >>= <<= &= ^= |= ,
||
若变量已正确定义且 k 的值是 4,计算表达式 ( j = k--) 后, j和k的值分别是_____。 已知字符 ‘a‟ 的ASCII码为 97 ,执行下列语句的输出是 _____。 printf ("%d, %c", ‟b‟, ‟b‟-1 ) ;
表达式 1<0<5 的值是
。
2.2 运算及流程控制
3、语句 (1) 熟练掌握表达式语句、空语句、复合语句;
(2) 熟练掌握简单控制语句
break、continue、return
(3) 熟练掌握选择控制语句 if、switch
(4) 熟练掌握重复控制语句
for、while、do-while
C 语言程序的三种基本结构是顺序结构、选择结构和______结构。 A、循环 C、转移 B、递归 D、嵌套
以下选项中不正确的实型常量是 A . 0.23E B.2.3e-1 C.1E3.2 。 D.2.3e0
。
写出下列程序段的输出结果。 float x1, x2; x1=3/2; x2=x1/2; printf("%d, %.1f", (int)x1, x2) ;
表达式 sizeof(“key”) 的值是______。 A、1 B、2 C、3 D、4 static char s[ ]="student";
pa
9பைடு நூலகம்
a
若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ _____是
若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, 正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1;
#include <stdio.h> #define SIZE 50 struct student { char name[10]; int math, eng; float aver; }; } for(k=1; k<SZIE; k++) if(s[k].aver>s[sub].aver ) sub = k; printf("%10s%3d%3d\n",s[sub].name,s[sub].math,s[sub] .eng); void main()
熟练掌握运算符的功能
熟练掌握运算符的优先级、结合性和目数
熟练掌握自动类型转换和强制类型转换
2、表达式
熟练掌握各类表达式的组成规则和计算
过程
() [ ] -> . ! ~ ++ -- - (类型名) * & sizeof * / % + 从右向左
<< >>
< <= > == != 右 右 >=
& (按位与) ^ (按位异或) | (按位或) && ?:
写出下列程序段的输出结果。 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 ) ;
2.2 运算及流程控制
写出下列程序段的输出结果。 int k, x;
for (k=0, x=0; k<=9&&x!=10; k++)
2.3 程序结构和函数
1、程序结构 熟练掌握main函数与其他函数之间的关系 包括标准库函数和自定义函数 2、函数的定义
(1) 熟练掌握函数定义的ANSI C格式
(2) 熟练掌握函数的参数(形式参数和实在参数)及参数 传递,包括指针作为函数的参数 (3) 熟练掌握函数的返回值,包括指针作为函数的返回值
printf("%d,%c\n",sizeof(s),*(s+2));
下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 算术运算符、赋值运算符和关系运算符的运算优先级按从 高到低的顺序依次为_____。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 设字符型变量ch的值是小写英文字母,将它转换为相应大写 字母的表达式是 。
下列语句定义pf为指向float类型变量 f 的指针,_____是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 对于如下说明,语法和语义都正确的赋值是_____。 int c, *s, a[ ]={1, 3, 5}; A、c=*s; B、 s[0]=a[0]; C、s=&a[1]; D、 c=a;
C语言中,形参的缺省的存储类说明是______。 A、auto C、register B、static D、extern
对于以下函数f,计算f(f(2))的值。(3) int f(int x) { static int k=0; x+=k++;
return x;
}
2.2
运算及流程控制
1、基本运算
2.1
数据的定义
2、构造类型
构造类型包括数组和结构 (1) 数组 熟练掌握一维和二维数组的定义和初始化,数组元素的引用。 包括一维字符数组和字符串,二维字符数组和字符串数组。
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素 值为4。 不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ‟\0‟}; 表达式strcmp(“box”, “boss”) 的值是一个____. A、正数 B、负数 C、0 D、不确定的数
2.3 程序结构和函数
要调用数学函数时,在#include命令行中
应包含_____。
A、 ”stdio.h” C、 ”math.h” B、 ”string.h” D、 ”ctype.h”
在C语言程序中,若对函数类型未加显式说 明,则函数的隐含类型是int.
2.2 运算及流程控制
输入12345#后,写出下列程序的输出结果。 void main() { char c; for(c=getchar(); getchar()!=‟#‟; c=getchar()) putchar(c); } int k ; char *s = “ABC”; for( k=10; k != 0; k-- ) ; printf ( "%d", k ); while( *s++ ) putchar( *s );
struct st *p=a; printf("%d,", p++->x); printf("%d,", ++p->y); printf("%d\n", (a+3)->x);
}
5、空类型 void
掌握空类型的定义和使用
2.1 数据的定义
6、变量的存储类别、作用域和生存期 (1) 掌握变量的存储类别 auto 自动型、static 静态型 (2) 掌握全局变量和局部变量 注意区分:自动局部变量和静态局部变量
判断i和j至少有一个值为非0的表达式是_____。 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 D、x != 1
表达式 (2==2==2) 的值是
。
若x是单精度实型变量,表达式 (x = 10/4) 的值是 A、2.5 B、 2.0 C、 3 D、 2
基 本 类 型 指 整 型 、 实 型 和 字 符 型 ( 主 要 是 int, float,
double, char;还包括long, unsigned, short)
(1) 常量
熟练掌握各种表示形式的整数、实数、和字符(串)常量, 符号常量的定义和使用。 包括整数的十进制、八进制和十六进制的表示形式、长整 型常量的表示形式,实数的浮点表示法和科学记数法, 转义字符,常用符号常量的含义(如NULL等) (2) 变量 熟练掌握变量的定义和初始化 printf(”%x,%o“,16,10); printf ("%d, %o, %x", 0x12, 12, 012);
的
#include <stdio.h> int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
1 2 4 5 7 8
3 6 9
void main()
{ int s,k;
for(s=0,k=0; k<3; k++) s+=a[k][k]; printf("%d--",s); for(s=0,k=0; k<3; k++)
2.1
数据的定义
(2) 结构
熟练掌握结构类型的定义,结构变量的定义
和初始化,结构变量成员的引用。
2.1
数据的定义
3、指针
(1) 熟练掌握指针和地址的概念
(2) 熟练掌握指针变量的定义和初始化 (3) 熟练掌握通过指针引用指向实体
int *pa, a=9; pa=&a; printf("%d,%d ,%d ", *pa, a, *&a); printf("%x,%x ,%x ", pa, &a, &*pa);
{ 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
}
2.1 数据的定义
(4) 熟练掌握结构指针
(5) 掌握嵌套结构
++p->str中的++加在_____。 struct { int len; char *str; } *p; A、指针str上 C、str指的内容上 B、指针p上 D、以上均不是
main( ) { struct st
{
int x, y;
}a[4]={{10,20},{30,40},{50,60},{70,80}};
s+=a[k][2-k];
printf("%d--",s); }
将输入的 n 个字符串连接成1个字符串后输出.
#include <stdio.h> #include <string.h> void main() { char str[10][20], string[200]; int k, n; scanf("%d", &n); for (k=0; k<n; k++) gets(str[k]); strcpy(string, str[0]); for (k=1; k<n; k++) strcat(string, str[k]); puts(string); }
2.1
数据的定义
(1) 熟练掌握指针、数组和地址间的关系 int c[ ]={1, 3, 5}; int *k=c+1; printf("%d", *++k); char str[ ]="hello\tworld\n"; printf("%d, %c\n", sizeof(str), *(str+10)); char s[ ]=“student"; printf("%s", s+2);
复
1. 基本要求
熟练掌握C 语言的基本
习
2. 基本内容
2.1 2.2
数据的定义 运算及流程控制 程序结构和函数 数据的输入和输出 编译预处理
知识
具备基本的C程序设计
2.3
2.4 2.5
能力,能熟练地阅读、 理解和编制简短的C程
序。
2.6
常用算法
2.1
数据的定义
数据的定义包括数据类型和存储类别 1、基本类型
4、构造类型和指针类型的混合定义及应用
2.1 数据的定义
(2) 熟练掌握指针数组 写出下列程序段的输出结果。
char *st[ ]={"one","two","three","four"};
printf("%s\n",*(st+3)+1);
(3) 熟练掌握结构数组
输入某班50位学生的姓名及数学、英语成绩,计算每位学生的平均分; 然后输出平均分最高的学生的姓名及其数学和英语成绩。
= += -= *= /= %= >>= <<= &= ^= |= ,
||
若变量已正确定义且 k 的值是 4,计算表达式 ( j = k--) 后, j和k的值分别是_____。 已知字符 ‘a‟ 的ASCII码为 97 ,执行下列语句的输出是 _____。 printf ("%d, %c", ‟b‟, ‟b‟-1 ) ;
表达式 1<0<5 的值是
。
2.2 运算及流程控制
3、语句 (1) 熟练掌握表达式语句、空语句、复合语句;
(2) 熟练掌握简单控制语句
break、continue、return
(3) 熟练掌握选择控制语句 if、switch
(4) 熟练掌握重复控制语句
for、while、do-while
C 语言程序的三种基本结构是顺序结构、选择结构和______结构。 A、循环 C、转移 B、递归 D、嵌套
以下选项中不正确的实型常量是 A . 0.23E B.2.3e-1 C.1E3.2 。 D.2.3e0
。
写出下列程序段的输出结果。 float x1, x2; x1=3/2; x2=x1/2; printf("%d, %.1f", (int)x1, x2) ;
表达式 sizeof(“key”) 的值是______。 A、1 B、2 C、3 D、4 static char s[ ]="student";
pa
9பைடு நூலகம்
a
若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ _____是
若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, 正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1;
#include <stdio.h> #define SIZE 50 struct student { char name[10]; int math, eng; float aver; }; } for(k=1; k<SZIE; k++) if(s[k].aver>s[sub].aver ) sub = k; printf("%10s%3d%3d\n",s[sub].name,s[sub].math,s[sub] .eng); void main()
熟练掌握运算符的功能
熟练掌握运算符的优先级、结合性和目数
熟练掌握自动类型转换和强制类型转换
2、表达式
熟练掌握各类表达式的组成规则和计算
过程
() [ ] -> . ! ~ ++ -- - (类型名) * & sizeof * / % + 从右向左
<< >>
< <= > == != 右 右 >=
& (按位与) ^ (按位异或) | (按位或) && ?:
写出下列程序段的输出结果。 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 ) ;
2.2 运算及流程控制
写出下列程序段的输出结果。 int k, x;
for (k=0, x=0; k<=9&&x!=10; k++)
2.3 程序结构和函数
1、程序结构 熟练掌握main函数与其他函数之间的关系 包括标准库函数和自定义函数 2、函数的定义
(1) 熟练掌握函数定义的ANSI C格式
(2) 熟练掌握函数的参数(形式参数和实在参数)及参数 传递,包括指针作为函数的参数 (3) 熟练掌握函数的返回值,包括指针作为函数的返回值
printf("%d,%c\n",sizeof(s),*(s+2));
下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 算术运算符、赋值运算符和关系运算符的运算优先级按从 高到低的顺序依次为_____。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 设字符型变量ch的值是小写英文字母,将它转换为相应大写 字母的表达式是 。
下列语句定义pf为指向float类型变量 f 的指针,_____是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 对于如下说明,语法和语义都正确的赋值是_____。 int c, *s, a[ ]={1, 3, 5}; A、c=*s; B、 s[0]=a[0]; C、s=&a[1]; D、 c=a;
C语言中,形参的缺省的存储类说明是______。 A、auto C、register B、static D、extern
对于以下函数f,计算f(f(2))的值。(3) int f(int x) { static int k=0; x+=k++;
return x;
}
2.2
运算及流程控制
1、基本运算
2.1
数据的定义
2、构造类型
构造类型包括数组和结构 (1) 数组 熟练掌握一维和二维数组的定义和初始化,数组元素的引用。 包括一维字符数组和字符串,二维字符数组和字符串数组。
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素 值为4。 不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ‟\0‟}; 表达式strcmp(“box”, “boss”) 的值是一个____. A、正数 B、负数 C、0 D、不确定的数
2.3 程序结构和函数
要调用数学函数时,在#include命令行中
应包含_____。
A、 ”stdio.h” C、 ”math.h” B、 ”string.h” D、 ”ctype.h”
在C语言程序中,若对函数类型未加显式说 明,则函数的隐含类型是int.