c/c++零基础坐牢第二天(代码片段)

R-f-12 R-f-12     2023-04-14     224

关键词:

c/c++从入门到入土(2)

开始时间2023-04-13 23:02:34

结束时间2023-04-14 01:26:05

 前言:如果第一天没把你劝退,恭喜你!通过今天的学习你就能半步踏进编程的大门了!今天让我们来学习一下基本数据类型和运算符的相关知识。以下是自制思维导图参考于苏小红C语言程序设计(第四版):

 

 

 

 

作业2 数据类型及运算

【C0033】下面四个选项中,均是不合法的用户标识符的选项的是_______。
A.A p_o do

B.float lao _A

C.b-a goto int

D._123 temp INT

 答案:C

 体会:变量名命名规则:(1)标识符只能由英文字母、数字和下划线组成,建议使用见名知意的名字为变量命名,可以使用英文单词大小混写或中间加下划线的方式,而不要使用汉语拼音;

(2)标识符必须以字母或下划线开头;

(3)不允许使用C关键字为标识符命名;

(4)标识符可以包含任意多个字符,但一般会有最大长度限制,与编译器相关,不过大多数情况不会达到此限制。

【C0034】以下选项中可以作为C语言中合法整数的是_______。
A.10110B

B.0386

C.0Xffa

D.x2a2

 答案:C

 体会:最常用整数表达形式为十进制、二进制、八进制和十六进制。

十进制,以10为基的数值系统,由0~9的数字序列组成,数字前可带正负号;

二进制,以2为基的数值系统,由0/1数字序列组成;

八进制,以8为基的数值系统,八进制整数由数字0开头后跟0~7(可用三位二进制表示)的数字序列组成;

十六进制,以16为基的数值系统,十六进制整数由数字0加字母x(或X)开头,后跟0~9,a~f或A~F(可用四位二进制表示)的数字序列组成。

【C0035】以下选项中合法的实型常数是_______。
A.5E2.0

B.E-3

C.2E0

D.1.3E

 

答案:C

体会:十进制小数形式与惯用形式相同;指数形式以e或者E来表示以10为底的指数,其中e的左边是数值部分(有效数字),可以表示成整数或者小数形式,它不能省略,e的右边是指数部分,必须是整数形式;单精度实型常量由常量值后跟F或f来表示;实型常量隐含按双精度型处理;长双精度型常量由常量值后跟L或l来表示。

【C0036】以下选项中可作为C语言合法常量的是_______。
A.-80

B.-080

C.-8e1.0

D.-80.0e

答案:A

体会:有符号整型常量,默认的int型定义为有符号整数,因此对int型无需使用signed;无符号常量,由常量追后跟U或u来表示,不能表示成小于零的数,如-30u是不合法的;长整型常量,由后跟L或l来表示;

无符号长整型常量,由常量值后跟LU、Lu、lU、或lu来表示。

【C0037】下面四个选项中,均是合法转义字符的选项是_______。
A.\'\\\'  \' \\\\\'  \'\\n\'

B.\'\\\'\'  \'\\017\'  \'\\t\'

C.\'\\018\'  \' \\f\'  \'\\xab\'

D.\'\\\\0\'  \'\\101\'  \'x1f\'

答案:B

体会:

合法的转义字符如下:

1、八进制转义序列:\\ + 1到3位5数字;范围\'\\000\'~\'\\377\'

\\0:空字符

2、Unicode转义字符:\\u + 四个十六进制数字;0~65535

\\u0000:空字符

3、特殊字符:就3个

\\":双引号

\\\':单引号

\\\\:反斜线

4.控制字符:5个

\\\' 单引号字符

\\\\ 反斜杠字符

\\r 回车

\\n 换行

\\f 走纸换页

\\t 横向跳格

\\b 退格

【C0038】下面不正确的字符串常量是_______。
A.\'abc\'

B."12’12"

C."0"

D." "

答案:A

体会:用双引号(“”)括起来的0个或者多个字符组成的序列

【C0039】以下选项中不属于C语言的类型的是_______。
A.signed short int

B.unsigned long int

C.unsigned int

D.long short

答案:D

体会:c语言类型——基本整型(int)、长整型(long)、长长整型(long long)、短整型(short)、无符号整型(unsigned)、单精度实型(float)、双精度实型(double)、长双精度实型(long double)、字符型(char)、枚举类型(enum)、结构体(struct)、共用体(union)、无类型(void)。

【C0040】在C语言中,要求运算数必须是整型的运算符是_______。
A./

B.++

C.!=

D.%

答案:D

体会:要求运算必须是整数的运算是求余运算。

【C0041】以下运算符中优先级最低的是_______。
A.&&

B.<=

C.||

D.==

答案:C

体会:查优先级表

【C0042】以下运算符中优先级最高的是_______。
A.&&

B.<=

C.||

D.==

答案:B

体会:同上

【C0043】若x = 2 , y=3,则x && y的结果是_______。
A.0

B.1

C.2

D.3

答案:B

体会:&&运算为“条件与”:x和y均为true,取值是true,否则取值是false。也就是说a&&b,如果a,b都不为零,则为真;如果a,b中至少有一个为零,结果才为假。

【C0044】若x,i,j和k都是int型变量,则计算表达式x = ( i = 4 , j = 16 , k = 32 )后,x的值为_______。
A.4

B.16

C.32

D.52

 答案:C

体会:x=(i=4,j=16,k=32)中的i=4,j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32

【C0045】若有定义:int a = 7 ; float x = 2.5 , y = 4.7 ; ,则表达式x + a % 3 * ( int )( x + y ) % 2 / 4的值是_______。
A.2.500000

B.2.750000

C.3.500000

D.0.000000

 答案:A

体会:根据运算符结合性和优先级计算

【C0046】若有以下类型说明语句:char w ; int x ; float y ; double z ; ,则表达式w * x + z - y的结果为_______类型。
A.float

B.char

C.int

D.double

 答案:D

体会:c编译器在对操作数进行运算之前将所有操作数都转换成取值范围较大的操作数类型,称为类型提升。

【C0047】已有定义:int x = 3 , y = 4 , z = 5 ; 则表达式!( x + y ) + z – 1 && y + z / 2的值是_______。
A.6

B.0

C.2

D.1

 答案:D

体会:根据运算符结合性和优先级计算

【C0048】以下选项中非法的表达式是_______。
A.0 <= x < 100

B.i = j == 0

C.( char )( 65 + 3 )

D.x + 1 = x + 1

 答案:D

体会:表达式具有左值属性

【C0049】设a、b、c、d、m、n均为int型变量,且a = 5、b = 6、c = 7、d = 8、m = 2、n = 2,则逻辑表达式( m = a > b ) && ( n = c > d)运算后,n的值为_______。
A.0

B.1

C.2

D.3

 答案:C

【C0050】若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.\'a\' <= c <= \'z\'

B.( c >= \'a\' ) || ( c <= \'z\' )

C.( \'a\' <= c ) and ( \'z\' >= c )

D.( c >= \'a\' ) && ( c <= \'z\' )

 答案:D

体会:A表达式错误B范围过大C呃离谱D正确

【C0051】若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是_______。
A.abs( x – y ) < 10

B.x – y > -10 && x – y < 10

C.!( x – y ) < -10 || !( y – x ) > 10

D.( x – y ) * ( x – y ) < 100

 答案:C

体会:这是接近算法的一个问题,abs为绝对值数学函数,B是定义,D是初中知识,C“||”左边的式子如为真,将不再判断其后的表达式的值

【C0052】C语言中的标识符只能由三种字符组成,它们是数字、字母和下划线。(请按照ASCII码递增顺序填写)
【C0053】在C语言中(以32位PC机为例),一个char型数据在内存中所占的字节数为1,一个int型数据在内存中所占的字节数为4,一个float型数据在内存中所占的字节数为4,一个double型数据在内存中所占的字节数为8。
【C0054】有以下定义int m = 5,y = 2;则计算表达式y += y -= m *= y后的y值是-16。
【C0055】若定义:int a = 2,b = 3float x = 3.5,y = 2.5;则表达式( float )(a + b ) / 2 + ( int ) x % ( int ) y的值是3.5。
【C0056】x和n均为int型变量,且x的初值为12,n的初值为5,则计算表达式x %= ( n %= 2 )后x的值为0。
【C0057】设所有变量均为整型,则表达式( a = 2 , b = 5 , a++ , b++ , a + b )的值为9。
【C0058】a、b和c均是int型变量,则计算表达式a = ( b = 4 ) + ( c = 2 )后,a值为6,b值为4,c值为2。
【C0059】a是int型变量,且a的初值为6,则计算表达式a += a -= a * a后a的值为-60。
【C0060】设y是int型变量,请写出判断y为奇数的关系表达式y%2==1。
【C0061】若a,b,c均为整型变量,则执行以下语句a = b = c = 0 ; a++ && ++b || c++ ; 后,a的值为1,b的值为0,c的值为1。
【C0062】下面程序的运行结果是b。
#include<stdio.h>
int main( )
  char m ;
  m = \'B\' + 32 ;
  printf( "%c\\n" , m ) ;
  return 0 ;

分析:最后输出m的字符形式,已知ascll中‘B’为66加32为98为‘b’,很明显知道大写字母和小写字母之间的差距为32.

【C0063】下面程序的运行结果是 0。
#include<stdio.h>
int main( ) 
  int x = 3 , y = 5 ;
  printf( "%d\\n" , x / y ) ;
  return 0 ;

分析:最后输出x/y的基本整型形式,3/5除不尽,为0.

【C0064】下面程序的运行结果是0。
#include<stdio.h>
int main( )
  int m = 0xabc , n = 0xabc ;
  m -= n ;
  printf( "%x\\n" , m ) ;
  return 0 ;

分析:最后输出m的十六进制输出整数,首先m=0xabc是2748,n也是这个数,m-=n的意思是m的值是m-n,既然m=n不用想就是0

【C0065】下面程序的运行结果是10,2。
#include<stdio.h>
int main( )
  int x = 10 , y = 3 ;
  printf( "%d,%d\\n" , x++ , --y ) ;
  return 0 ;

分析:最后有两个输出一个是x的基本整型,一个y-1的基本整型,很明显是10,2(其中输出格式%d,%d表示两数之间以逗号分隔)

【C0066】下面程序的运行结果是3,20,30,1。
#include<stdio.h>
int main( )
  int a = 2 , b=20 , c=30 , d ;
  d = ++a <= 10 || b-- >= 20 || c++ ;
  printf( "%d,%d,%d,%d\\n" , a , b , c , d ) ;
  return 0 ;

分析:最后有四个输出分别为abcd的基本整型,重点在 d=++a<=10||b-->=20||c++; 这句,里边是||运算符,从开始往后计算,碰到一个为真的表达式,后边的表达式就不计算了。
++a <=10 先++,再去比较,为真
所以后边b-- >= 20和c++没有运算。所以a经过++a运算变为3,b和c不变,d为真值1

总结:真正学明白数据类型和基本算术运算,你已有能力进行简单的编程,你的程序已经有可以帮小学生检查作业的水平!

 

c/c++零基础坐牢第十天(代码片段)

c/c++从入门到入土(10)开始时间2023-04-29 19:17:13结束时间2023-05-12 23:50:32 前言:为了处理方便,我们将具有相同类型的若干元素按有序的形式组织起来的一个形式,这个集合便是数组。字符串为具有一定的约束条件的... 查看详情

c/c++零基础坐牢第八天(代码片段)

c/c++从入门到入土(8)开始时间2023-04-24 08:30:32结束时间2023-04-25 01:35:58前言:在大型项目中,我们需要将复杂的问题简单化,将简单的问题流程化。那么这时我们就需要运用到一个强大的工具——函数。此函数非彼函数,... 查看详情

python3-基础语法篇(第二天)(代码片段)

本篇博文为Python3零基础学习第二天,本篇博文可以学习到如下知识:1.print输出功能2.input输入功能(包含类型转换)3.字符串的格式化4.range功能5.随机模块random6.流程控制语句(顺序语句,分支语句,循环语句–(while循环,break和continue关键... 查看详情

第二天java基础(代码片段)

第二天JAVA基础变量在程序运行中值可以变化的量;类型变量名;变量的作用域packagecom.zhang.Base;//Demo05类名publicclassDemo05/**变量按照作用域来分有三种:*类变量实例变量局部变量**///类变量staticstaticdoublesalary=3000;//整个类中可使用s... 查看详情

从零开始学习c语言(第二天)(代码片段)

 今天我学习了C语言的常量分为:字面常量、const修饰的常量、#define定义的标识符常量、枚举常量。字符串、strlen、while字面常量:指的是输入程序中的值。表示数字如:3、5、100、3.14.....#include<stdio.h>intmain() inta&... 查看详情

基础学习之第二天(代码片段)

 一.格式化输出              现在有以下需求,让用户输入name,age,job,hobby然后输出如下所示:------------infoofAlexLi-----------Name:AlexLiAge22job:TeacherH 查看详情

解题报告《leetcode零基础指南》(第三讲)循环(代码片段)

...力再研究,涉及到后面知识点0.0链接:《LeetCode零基础指南》(第二讲)函数另外:昨天讲过的知识点我今天不会再放有需要请查看:【解题报告】《LeetCode零基础指南》(第二讲)函数🧑🏻作者简介:一个... 查看详情

从零开始学写脚本(大麦网抢票上)第二天(代码片段)

接着我们上期的教程,今天带大家一起来学习下怎么去大麦网抢票我们先看看代码运行的视频效果https://vkceyugu.cdn.bspapp.com/VKCEYUGU-4a31945b-22cb-4446-83cb-b078e22c7b51/e67d6cf0-4569-48c4-ab8d-15bca1cf020b.mp4由于今天写的时候频繁下单又取消,导... 查看详情

mysql基础第二十二天,插入数据(代码片段)

插入完整的行insertintocustomervalues(200,'**贸易','**路*号','珠海市','广东',519000,'中国','张先生','zhang@126.com');//插入完整的行insertintocustomer(cust_id,cust_name 查看详情

zstu我的编程之路(代码片段)

...usingnamespacestd;intmain()inta,b;cin>>a>>b;cout<<a+b;零基础学C/C++oj题目1001--11991001:零基础学C/C++01——第一个程序HelloWorld!#include<iostream>usingnamespacestd;intmain()cout<<"HelloWorld!"<<endl;1002:零基础学C/C++02——输出... 查看详情

暑假第十二天之每天一些题系列(代码片段)

暑假第十二天之每天一些题系列一、选择题定义了一维int型数组a[10]后,下面错误的引用是A.a[0]=1B.a[0]=5*2C.a[10]=2D.a[1]=a[2]*a[0]答案解析:a[10]越界访问了,10个元素下标是0-9。在C/C++语言中,下面关... 查看详情

python3-基础语法篇(第二天)(代码片段)

文章目录1.print输出功能的详解2.input输入功能类型转换3.字符串的格式化4.range功能5.随机模块random6.流程控制语句6.1顺序语句6.2分支语句6.3循环语句while循环break和continue关键字for循环循环嵌套7.字典1.print输出功能的详解把程序中的... 查看详情

mysql基础第三十二天,数据库维护(代码片段)

备份数据mysqldump-uroot-proot-hlocalhost-P3306crashcurse>d:\\beifen.sql;//备份数据库mysqldump-uroot-proot-hlocalhost-P3306-Rcrashcurse>d:\\beifen.sql;//备份数据库(-R存储过程也会被备份)mysql-uroot-proot-fcrashcourse< 查看详情

ife零基础学院day2(代码片段)

第二天:给自己做一个在线简历吧最后的验证,提出了几个问题,尝试解答一下HTML是什么,HTML5是什么HTML的定义摘抄自w3school的HTML简介HTML是用来描述网页的一种语言。HTML指的是超文本标记语言(HyperTextMarkupLanguage)HTML不是一种编... 查看详情

二刷java基础第二十二天——反射(代码片段)

一:什么是反射?利用代码区中的数据(class),去创建对象;而不需要去new构造方法成员变量成员方法在代码区存储的class并不是真正的class文件(物理),而是一个虚拟的对象(Class)二... 查看详情

hcia第二天基础概念(代码片段)

文章目录IP地址的分类特殊IP地址VLSM可变长子网掩码子网划分CIDR无类域间路由用于汇总OSI模型TCP/IP协议簇以太网II型帧TCP的头部UDP头部IP地址的分类IP地址分为5类:A类,B类,C类,D类,E类如何划分的?根据... 查看详情

零基础进阶算法工程师之路:《算法笔记》学习:c/c++快速回顾(代码片段)

...有了很大的兴趣,接着考研,我可以将计算机的基础好好的学一遍,因为自己打算在3月考研全面铺开,于是我有2个月的时间去学习算法,那么现在开始把C/C++快速回顾因为刷题的话,自己打算使用上... 查看详情

《算法零基础100讲》(第37讲)排序进阶-快速排序(代码片段)

...、推荐专栏六、习题练习零、写在前面  这是《算法零基础100讲》专栏打卡学习的第三十七天了。  每天打卡的题,做不出来没关系,因为困难的题涉及知识点较多,后面还是会开放出来的,就像昨天的最大... 查看详情