1. c语言读程题要详细过程
第3题:
输出前5个元素(a[0]——a[4])的乘积,即3×5×7×9×11=10395。
运行结果___10395___。
第4题:
输出二维数组a的左下部分(包括主对角线)的元素。
运行结果是(用︺代表一个空格):
︺︺0
︺︺5︺︺6
︺10︺11︺12
︺15︺16︺17︺18
︺20︺21︺22︺23︺24
第二题:
输出结果___5__。
2. c语言 读程序题
switch语句
多分支选择语句
格式:
switch(表达式a)
{
case
常量表达式1:语句1
case
常量表达式2:语句2
case
常量表达式3:语句4
.
.
.
case
常量表达式n:语句n
default(这是”否则“的意思):
语句n+1}
读法是:表达式a=
常量表达式x
就执行语句x
同时有一点注意的
如:满足表达式2
那么直接执行语句2
语句1不执行
但语句3到n+1也都要执行一次
这就是switch语句的一个问题(我认为这是一个bug)
为了避免这个问题
一般在语句后面再加个break语句
如:case
常量表达式2:a++;break;
这样后面的就不执行了
所以case意思是:“当等于。。。的时候”
这段程序的意思是:i从1到4
每次i满足case后哪个表达式就执行哪个语句对a修改
a+=2
等于a=a+2
这里的过程是a=3+5
+3+5
+2+3+5
+5=31
3. C语言指针读程题
考察的是:
全局变量和局部变量的作用域问题;注意main函数中的i是局部变量,fun函数中的i是全局变量;
static存储类型变量的生存期问题;注意fun函数中的m为staic修饰,只初始化依次,生存期直至退出程序
函数递归调用问题;
全局变量定义未初始化,默认值为0;全局变量i初值为0
第一次调用fun函数fun(i,&j),i为局部变量,值为1,j值为2. 全局变量i=0+2+1=3,m=3,main中的j值自增为3,输出3,3,fun函数返回3
第二次调用fun函数,fun(3,&j),j值为3,全局变量i=3+3+3=9,m=4,main中的j值自增为4,输出9,4
两次输出合在一起就成了3,39,4
4. C语言读程题,根据题目填补图中源程序空缺代码
digitalsum(i)==10
count%8==0
n/10%10
i+j+k
5. c语言读程题
for(a=1;a+1;a++)
C语言中布尔值的特征,只要一个式子不等于零都为真。
a=1初始化a之后
a+1=2不等于零。
运行循环
a的值为1
if(a>4)不成立
打印 a++的值 为1,
再到for循环中的a++,
a自增了两次所以a在第二次for循环中的循环判定之前的值为3
a+1=4不等于零
a的值为3
if(a>4)不成立
打印 a++的值 为3,
再到for循环中的a++,
a自增了两次所以a在第三次for循环中的循环判定之前的值为5
a+1=6不等于零
a的值为5
if(a>4)成立,
打印 a的值 为5,循环结束
6. C语言读程题
x = 1,y = 1,z = 1
首先进入switch(x)的case 1,再进入switch(y)的case 1,代码显示!!后,退出。
7. C语言读程题,根据图中源程序代码,分析解答下列问题
(1)while((ch=getchar())!='\n')
使用getchar函数从键盘获取一次按键输入(只是按下一个按钮),如果按的键不是回车(回车键的输入即为'\n'),继续执行循环体内代码。然后回到该行代码,获取下一个按键输入,一直循环下去,直到按下回车为止。总的效果等同于输入任意字符串,以回车键结束。
(2)if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
在ASCII码表中,基本字符通过ASCII码进行编码。字母a到z的ASCII码范围对应为97~122,字母A到Z则对应65~90。所以当输入字符的ASCII码在上述范围之内时,则输入的字符为大小写英文字母。字符的比较即ASCII码的比较。若输入其它字符,直接输出不进行处理。
&&代表逻辑与,表示两侧的条件同真时为真,否则为假;||代表逻辑或,表示两侧的条件同假时为假,否则为真。例如,必须当字符大于等于'a'并且小于等于'z'时,字符才是小写字母;若字符是小写字母,或者字符是大写字母,则字符是英文字母。
(3)ch+=3
直接对字符的ASCII码进行操作,即可实现字符的转换。这里对字符加3,就实现了字符移位的运算(ASCII码表中小写字母是按照实际顺序排列的,大写字母同理)
(4)if(ch>'z'||(ch>'Z'&&ch<='Z'+4)) ch-=26
if条件表示对移位后的ch进行判断,若超出字母表范围,因为大小写字母各有26个,只需对ASCII码减26就可以回到字母表开头位置,原理类似于求余运算。
8. C语言的读程题,要详细过程,谢谢
这个语气说的好像别人有义务和责任一定要帮你一样,不想回答,谢谢。
9. C语言:读程序题
结果是6
首先定义一个三行三列的数组a[3][3],和一个指针变量*p,和一个整形变量i。
p=&a[0][0];的意思就是给指针p赋值!使指针p指向数组a的首地址,我们知道,一个数组在内存中分配的地址是连续的,就像一行数一样!例如这道题里的a[3][3]在内存中的存储格式就是a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[3][0]a[3][1]a[3][2],那么最后要输出的a[1][2]就是数组的第6个数!而p是从0开始指的,即p[0]指向a[0][0],那么p[5]指向的就是a[1][2],p[5]=5+1,所以答案是6。不知道你明白了没有!?