- 1、输出各种数据类型所占用存储空间的大小
- 2、下列哪一项能用作用户自定义的标识符
- 3、指出下列程序中的错误
- 4、给下列表达式加上全部的括号 (假设所用变量均已定义)
- 5、请根据下列题意写出相应的表达式
- 6、下列选项中两个表达式的运算结果相同的是
- 7、下列程序的运行结果为
- 8、求解下列各表达式的值(其中 x 的值为 100)
- 9、下列程序运行结果为
- 10、小型选择题
- 11、填空题
- 12、编程题
- 就到这啦,若有不对之处,还请各位大佬指正!谢谢!
#include1、输出各种数据类型所占用存储空间的大小//万能文件头!!!用了它就可以不用敲其他头文件了,yyds!!!
#includeusing namespace std; //指标识符的各种可见范围 //C++标准程序库中的所有标识符都被定义于一个名为std的namespace中 int main() { cout << "int 变量占用的空间大小为:" << sizeof(int) << endl; cout << "float:" << sizeof(float) << endl; cout << "char:" << sizeof(char) << endl; cout << "double:" << sizeof(double) << endl; cout << "bool:" << sizeof(bool) << endl; cout << "long long:" << sizeof(long long) << endl; }
(a)const (b)2var (c)my name (d)var2
(a) 中 const 是关键字,C++关键字不能用于用户自定义标识符;
(b) 中 2var 是以数字开头,第一个字符必须是字母或下划线;
© 中 my name含有空格,标识符不能含有空格。
#includeusing namespace std; int main() { const int x; x = 100; return 0; }
const 定义的符号常量必须初始化 , 由 const 定义的常量的值不可以改变。
所以本题有两处错误:
第一、没有对符号常量 x 进行初始化;
第二、给符号常量赋值是错误的。
vs都指出来了,yyds!
(1) a+b-c–%b
(2) a>b?b:c>d?a:c (3) a+=a+b||e
(4) a&b+c++
(5) -a&&b-c
(6) k=b=c=a
考察运算符的优先级
解答:
(1) (a+b)-((c–)%b)
(2) a>b?b:(c>d?a:(c (3) a+=((a+b)||e)
(4) a&(b+(c++))
(5) (-a)&&(b-c)
(6) k=(b=(c=a))
(1) 有 a、b、c、max四个变量 a、b、c 中的最大值,并将结果放入 max中。
(2) 年龄在 1 到 100 之间(包含 1 和 100,年龄用变量 age 表示)。
(3) 判断一年是否为闰年,年用 year 表示。满足下列两个条件之一即为闰年:①能被 4 整除但不能被 100 整除 ②能被 400 整除。
4、
解答:
(1)max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
原谅我忘记return 0;了~
(2)(age >= 1 && age <= 100)
原谅我忘记return 0;了~
(3)(a+b)*h/2
(4)(year%4==0&&year%100!=0)||(year%400==0)
这次没有忘记return 0;呜呜
(a)3/2 和 3.0/2.0 (b)3/2 和 3.0/2 (c)3/2.0 和 3.0/2.0 (d) 3/2.0 和 3/2
考查数据类型及表达式中数据类型的隐式转换
3/2 中两个操作数都为整型,运算结果仍为整型即 1;
3.0/2 和 3/2.0 中一个操作数为整型另一个为浮点型,运算时整型隐式转换为浮点型,运算结果也为浮点型即 1.5 ;
3.0/2.0 两个操作数均为浮点型,结果也为浮点型即 1.5 。
#includeusing namespace std; void main() { int a = 2, b = 4, i = 0, x; x = a > b && ++i; cout << "x :" << x << endl; cout << "i :" << i << endl; }
考查“短路”表达式
对于表达式中的“与”运算而言,只要有一个操作数为假,结果为假。所以当第一个操作数为假时,不在求解其它操作数。对于表达式中的“或”运算而言,只要有一个操作数为真,则结果为真。所以当第一个操作数为真时,不在求解其它操作数。本题中 a>b 为假,所以表达式 a>b&&++i 为假,而++i 没有执行。故i:0,x:0。
(1) (a=1,b=2,c=3)
(2) 1|3<<5
(3) ‘a’+3&&!0%1
(4) x%2?“ odd”: ” even ”
解答:
(1)逗号表达式的值是其最后一个表达式的值。
(2)<<运算符的优先级高于 | 运算符,所以先算 3<<5 结果为96(二进制 1100000),然后与 1 做按位与运算则结果为 97(二进制 1100001)。答案为: 97
(3)按优先级由高到低依次是: ! 运算符、算术运算符、逻辑运算符。 !0%1 即 1%1结果为 0,‘a’+3 时字符型首先隐式转换成整型然后相加结果为 100,100&&0结果为 0。答案为: 0
(4)害,卡出了
vs呜呜,之前显示的错误后来改了,可能下面还是会显示错误,需要重新运行才不显示。
考英语~odd奇数,even偶数
#includevoid main() { int a=23; double b=23.123456789; cout< 解答:
10、小型选择题
(1)下列数据类型不是 C++语言基本数据类型的是( )
A、字符型 B、整型 C、浮点型 D、数组
解析:数组是复合数据类型。(2) 下列字符列中,可作为 C++语言程序自定义标识符是( )
A、x B、-var C、new D、3i
解析:标识符不能以-和数字开头,new是关键字,不能作为标识符。(3)下列数中哪一个是 8 进制数( )
A、0x1g B、010 C、080 D、01b(4)已知 a=1,b=2,c=3 ,则表达是 ++a||-b&&++c 的值为( )
A、0 B、1 C、2 D、3
解析:这个看优先级啦!(5)下列表达式选项中, ( )是正确的
A、++(a++) B、a++b C、a+++b D、a++++b
解析:(a++)+b 和a+++b两个表达式概念是一样的,a++,++在后面的时候,先保留a的运算,a全部运算完后a才自加。(虽然++的优先级比+的高)(有点坑)
可以参考一下菜鸟教程里面的一个例子!
(6)已知枚举类型定义语句为: ( )
enum color{RED,BLUE,PINK=6,YELLOW,GREEN,PURPLE=15};
则下列叙述中错误的是( )。
A、枚举常量 RED的值为 1 B、枚举常量 BLUE的值为 1
C、 枚举常量 YELLOW的值为 7 D、枚举常量 PURPLE的值为15
解析:默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。但在第6题的情况下RED仍然为0,YELLOW的值为 7,GREEN的值为8。(7)下列程序运行的结果是?
#includeusing namespace std; int main() { const double pi = 3.1415926; cout << setprecision(3) << pi << endl << setiosflags(ios::fixed) << pi << endl << setprecision(8) << setfill('*') << setw(12) << pi << endl; return 0; } 解答:
(8) 若 int x=3,y=5; 则表达式 x&y++%3的值为( )
A、0 B、1 C、2 D、3(9)下列常量正确的是( )
A、”hello World ” B、1FL C、 3.14UL D、1.8E-3(10)若 char x=97;, 则变量 x 包含几个字符( )
11、填空题
A、1 个 B、2 个 C、4 个 D、8 个(1)C++语言标示符是以字母或下划线开头的,由字母、数字、下划线组成。
(2)在 C++语言中,char 型数据在内存中的存储形式是ASCII。
(3)在内存中,存储字符‘ x’占用 1 个字节,存储字符串“ x”要占用2个字节。
(4)符号常量可以用宏定义 define 和const表示。
(5)转义字符序列中的首字符是。
(6)空字符串的长度是 0。
(7)表达式 cout<< ’n ’ ; 还可以表示为 cout<。
(8)若要为 unsigned int 定义一个新的名字 UINT 应采用的语句是 typedef unsigned int UINT;。
(9)请编写程序不借助第 3 个变量实现 a,b 值得交换。#includeusing namespace std; int main() { int a, b; cout << "请输入需要交换的a和b:"; cin >> a >> b; a = a + b; b = a - b; a = a - b; cout << "交换后的a和b分别为:" << a << 't' << b; return 0; } (10)大多数 C++程序都要包含头文件 iomanip.h。该文件中包含了所有输入 / 输出流操作所需的基本信息。当使用带参数的操作时,程序中必须包含头文件iostream.h。
12、编程题(1)编写一个程序,输入一个三位数,分别输出该数的百位、十位和个位。
(2) 编写一个程序打印出各种基本数据类型、几个你自己定义的复合数据类型的大小。使用 sizeof 运算符。
解答:
(1)//编写一个程序,输入一个三位数,分别输出该数的百位、十位和个位 #includeusing namespace std; int main() { int count, hundred, ten, one; cout << "请输入一个三位数:"; cin >> count; hundred = count / 100; ten = (count % 100) / 10; one = (count % 100) % 10; cout << "这个数字的百位、十位、个位分别为:" << hundred << 't' << ten << 't' << one << endl; return 0; }
(2)//编写一个程序打印出各种基本数据类型、几个你自己定义的复合数据类型的大小。 //使用 sizeof 运算符 #include就到这啦,若有不对之处,还请各位大佬指正!谢谢!using namespace std; void main() { int array[10]; enum month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec }; char* p; cout << "The size of char is:" << sizeof(char) << endl << "The size of int is:" << sizeof(int) << endl << "The size of short int is:" << sizeof(short int) << endl << "The size of long int is:" << sizeof(long int) << endl << "The size of float is:" << sizeof(float) << endl << "The size of double is:" << sizeof(double) << endl << "The size of long double is:" << sizeof(long double) << endl << "The size of signed int is:" << sizeof(int) << endl << "The size of unsigned int is:" << sizeof(unsigned) << endl << "The size of array is:" << sizeof(array) << endl << "The size of month is:" << sizeof(month) << endl << "The size of p is:" << sizeof(p) << endl; }



