浙江大学C小程week2知识点整理
本周主要知识点
常量和变量
在C程序运行过程中,其值不能被改变的量称为常量,其值可以改变的量称为变量。
易错:变量赋初值问题
在C语言中,有以下情况下变量没有赋初值系统会默认赋初值:
- 1.全局变量:全局变量在整个程序中都是可用的,并且在程序启动时自动赋值为0。
- 2.静态变量:静态变量只在它所在的函数或代码块中可用,并且在程序启动时自动赋值为0。
而局部变量并没有默认初值。因此,在使用局部变量之前,必须显式地给它赋值。
C语言中基本数据类型
- 字符型(char):字符型变量用于存储单个字符。
- 整型(int):整型变量用于存储整数值。
- 浮点型(float):浮点型变量用于存储单精度浮点数。
- 双精度浮点型(double):双精度浮点型变量用于存储双精度浮点数。
C语言中运算符的优先级
- 一元运算符:++、–、sizeof、&、*、+、-、~、!
- 乘法、除法、取模运算符:*、/、%
- 加法、减法运算符:+、-
- 左移、右移运算符:<<、>>
- 关系运算符:<、<=、>、>=、==、!=
- 按位与运算符:&
- 按位异或运算符:^
- 按位或运算符:|
- 逻辑与运算符:&&
- 逻辑或运算符:||
- 条件运算符:? :
- 赋值运算符:=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
- 逗号运算符:,
好题错题整理
判断题
- 1.若变量定义为int x, y; ,则x + y = 22是符合C语言语法的表达式。(×需要左值作为赋值左操作数)
- 2.在C语言中,单目运算符需要2个操作数。(×)
- 3.为了检查以下if-else语句的两个分支是否正确,至少需要设计3组测试用例,即x的取值至少有三组(小于15的数、15和大于15的数)。
(√)if (x <= 15){ y = 4 * x / 3; } else{ y = 2.5 * x - 10.5; } - 4.执行以下程序段,输入20,输出20.00。
(×格式符与变量类型不匹配)double x; scanf("%f", &x); printf("%.2f", x); - 5.for语句的一般形式如下,若表达式2的值为“真”,则先执行循环体语句,再计算表达式3,然后继续循环。
(√)for (表达式1; 表达式2; 表达式3) 循环体语句 - 6.循环体如包括有一个以上的语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为是一条语句。(√)
- 7.执行以下程序段,sum的值是55。
(×变量没有赋初值)int i, sum; for (i = 1; i <= 10; i++){ sum = sum + i; } - 8.执行以下程序段,sum的值是0.75。
(×C语言里面的/代表整除)int i; double sum; sum = 0; for (i = 2; i <= 4; i = i + 2){ sum = sum + 1/i; }
单选题
- 1.下列运算符中,优先级最低的是( )。
A.* B.= C.== D.%
选C - 2.对C语言程序,以下说法正确的是( )。
A.main 函数是主函数,一定要写在最前面。
B.所有的自定义函数,都必须先声明。
C.程序总是从main 函数开始执行的。
D.程序中只能调用库函数,不能自己定义函数。
选C
填空题
- 1.执行以下程序段,并回答下列问题。请注意,直接填数字,前后不要加空格等任何其他字符。
语句①执行了_____次int fahr; double celsius; for (fahr = 91 ; fahr <= 100; fahr++) celsius = 5.0 * (fahr - 32) / 9.0; /* 语句① */ printf("%4d%6.1f\n", fahr, celsius); /* 语句② */
语句②执行了_____次
答案:10 1(对于循环,如果不加大括号,只对下面一句有效) - 2.执行以下程序段,并回答下列问题。请注意,直接填数字,前后不要加空格等任何其他字符。
语句①执行了_____次int fahr; double celsius; for (fahr = 121 ; fahr <= 125; fahr++) ; celsius = 5.0 * (fahr - 32) / 9.0; /* 语句① */ printf("%4d%6.1f\n", fahr, celsius); /* 语句② */
语句②执行了_____次
答案:1 1(for循环后面直接用 ; 终结了语句) - 3.在算术、赋值和关系运算符中,按照优先级从高到低的顺序排列为:算术运算符、关系运算符、赋值运算符。(请注意,直接填文字,前后不要加空格等任何其他字符。)
程序填空题
注意关系表达式中要用==
本文介绍了C语言中的常量与变量概念,强调了全局变量、静态变量和局部变量的初始化区别。此外,讲解了C语言的基本数据类型,如char、int、float和double,并概述了运算符的优先级。通过分析好题错题,强调了赋值表达式的正确使用,以及格式匹配在输入输出中的重要性。最后,提供了若干选择题、填空题以检验读者对C语言的理解。

969

被折叠的 条评论
为什么被折叠?



