【C语言初学者周冲刺计划】5.1C语言知识点小总结

目录

1知识点一:

2知识点二:

3知识点三:

4代码:

5总结:


1知识点一:

1

C语言中要求对变量作强制定义的主要理由是(   )。

便于确定类型和分配空间

2

【单选题】若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是(           )。

我的答案:

C

2

  • A、

    2.500000

  • B、

    2.750000

  • C、

    3.500000

  • D、

    0.000000

  • 思路注意数据类型    2.5+7%3*7%2/4=2.5+1*7%2/4=2.5+1%4=2.5+0;故选A

  • 因为(int)表强制类型,故最后1%4=0;

  • 3数据类型\

  • 【C语言初学者周冲刺计划】5.1C语言知识点小总结_第1张图片

  • 4

  • 细节如定义为int x;下面输入scanf(“%d”)double 对应lf。flaot对应%f,char对应%c字符串对应%s千万别思维定式全部定义为%d

  • 5

  • 【单选题】以下选项中,合法的实型常数是(    )。

  • A、

    5E2.0

  • B、

    E-3

  • C、

    2E0

  • D、

    1.3E

  • E前后都要有数字且为整形,En表示10的n次方,故答案为c

  • 6

  • 【单选题】已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是(     )。

  • A、

    字符A

  • B、

    字符a

  • C、

    字符c

  • D、

    非法的常量

  • 解答:各进制之间的转换要熟练,其中十进制是纽带,其余禁止转换为十进制用加权乘法即可,十进制转换为其余进制只需要除法自下而上求余即可;故A

  • 填空题】C语言是通过     (1)       来进行输入和输出的。

    我的答案:

    输入和输出函数

  • 2知识点二:

  • 1

    单选题】

    根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为(     )。

    #include

    int main()

    {

            char s1,s2,s3;

            输入语句;

            printf(”%c%c%c”,s1,s2,s3);

    }

    输入形式:A└┘B└┘C<回车>                (注:└┘代表空格)

    输出形式:A└┘B

  • A、

    scanf(”%c%c%c”,&s1,&s2,&s3);

  • B、

    scanf(”%c└┘%└┘c%c”,&s1, &s2,&s3);

  • C、

    scanf(”%c,%c,%c”,&s1,&s2,&s3);

  • D、

    scanf(”%c%c”, &s1, &s2,&s3);

  • 答案:A,由题做题;看输出形式是什么

  • 2

  • 【单选题】设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为(    )。

  • A、

  • B、

  • C、

  • D、

    4

  • 答案:&&关系运算符意思是都成立才成立,而他的结合方向是自左向右,所以前面错误后面就不用再运算后面了,故答案为B

  • 3知识点三:

  • 1

    【单选题】为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

  • A、

    缩排位置相同的if 

  • B、

     在其之前未配对的if

  • C、

    在其之前未配对的最近的if

  • D、

    同一行上的if

【单选题】

请阅读以下程序:该程序()。

#include "stdio.h"

int main()

{ int x=-10, y=5, z=0;

if (x=y+z) printf(”***\n” );

else  printf(”$$$\n”);

return 0;}

A、

有语法错不能通过编译

B、

可以通过编译但不能通过连接

C、

输出*** 

D、

输出$$$

答案解析:

【答案】C。注意:这里x=y+z不是x==y+z!

4代码:
#include
int main()
{
	int k=0;
	char ch='A';
	do
	{
		switch(ch++)
		{
			case 'A': k++;break;
			case 'B': k--;
			case 'C': k+=2;break;
			case 'D': k%=2;break;
			default: ;
		}
	}
	while(ch<'D');
	printf("%d\n",k);
	return 0;
}

【C语言初学者周冲刺计划】5.1C语言知识点小总结_第2张图片

判断运行结果;

思路
switch(ch++)明白ch++步骤,其相当于t=ch++,就是先赋值后运算,先将ch自身的值赋给t,再做ch++运算;在题中就是先将ch='A'带入switch中,然后同时再进行ch++变为'B',即再while判断时为'B';

注意:
case 'B': k--;后面由于break;所以会持续执行,故第一次进'A‘,k=1;第二次进B,为k=1-1=0;

再接着进case'C',k=2;再进c:k=4;建议去看看【C语言初学者周冲刺计划】2.1判断输出结果(自增的理解)-CSDN博客

5总结:

感谢各位的阅读,以上就是“C语言知识点总结”的内容了,经过本文的学习后,相信大家对C语言这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是CSDN杰克尼,小编将为大家推送更多相关知识点的文章,欢迎关注!


 

你可能感兴趣的:(c语言,开发语言)