C语言题目简答题

Python022

C语言题目简答题,第1张

1、(c>=65 &&c<=90)?(c=c+32):(c=c) /*符合你的要求,不是C语句,而是C表达式*/

2、a%10==5 /*符合你的要求,不是C语句,而是C表达式*/

3、【题目不全啊】

4、【题目不全啊】

5、这个题算是所有6个题中最难的了。

首先,fun函数中定义了一个static类型的变量,含义如下:

有时希望函数中的 局部 变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。

这道题还有一个迷惑点是,该程序还在“文件包含”命令下面定义了一个全局变量,变量名同样也是d。全局变量(或全程变量)可以为本文件中其它函数所共用,其有效范围从定义变量的位置开始,到本源文件结束。

这里要注意,这两个d虽然名字相同,但他们不是一个变量,两者地址不同,即占用的存储单元不一样。

要解决这道题,你还应该了解:一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最开头,也可以放在程序最后,或在一些函数之前,或在另一些函数之后)。

上面的问题清楚之后,下面就容易了。先执行main函数,第一句

int a=1

定义了整型变量a并赋初值为1。然后调用输出函数

printf("%5d\n",fun(a+fun(d)))

这里,printf函数的输出列表中调用了fun函数,而fun函数中的参数是一个表达式a+fun(d),这个表达式中也有fun函数,其参数是d,这里,这个d 作为实参,必定是在“文件包含”命令下面定义的全局变量d,即先执行了fun(1)。

好,我们看看执行fun(1)是什么效果。首先形参p得到了实参的值1,然后

static int d=5

定义了一个局部静态变量d, 并初始化为5,然后

d+=p

就相当于“d=d+p”,即d=5+1,d的值为6,然后

printf("%5d",d)

输出了当前局部静态变量d的值6,然后

return d

即函数返回值为6,main函数中fun(d)就可以用数字6代替,a+fun(d)就是7了。

然后又调用了一次fun函数,fun(a+fun(d)),即fun(7)。

好,我们继续看这时函数应该如何调用。还是形参p得到了实参值7,然后

static int d=5

由于fun函数里的d是静态变量,在第一次调用该函数时d已经被定义,系统已经为它分配了存储存单元,所以,这次再调用fun函数的时候,d不用再定义了,而且保留上次的值6,也就是说,这次的“d=5”是不会被执行的。继续,

d+=p

即d=d+p,也就是6+7,这次fun函数里的局部静态变量d的值为13,

printf("%5d",d)

输出d的值13,然后

return d

fun函数返回值为13。回到main函数,fun(a+fun(d))即可用13 来代替,然后

printf("%5d\n",fun(a+fun(d)))

输出13,换行,程序运行结束。

分析完执行过程,这个题的答案就有了。由于printf函数中写在%和d之间的整数代表输出字段宽度为5(如果数据的位数小于5,则左补空格,若大于5,则按实际位数输出),fun函数的printf函数的格式控制字符串中没有换行符'\n',所以最终输出结果应该只有一行:

6 13 13

press any key to continue

要注意,6前面有4个空格,6和第一个13之间有3个空格,两个13之间也有3个空格,第二个13后面什么都没有直接换行。最后的“press any key to continue”是Visual C++ 6.0系统自动生成的,提示程序已经运行完毕,按任意键退出。

6、Visual C++ 6.0 或 Turbo C++ 3.0

艾玛,打这么多字累屎了。。。。。。

C语言中的保留字也就是关键字``是C语言自带的,程序员自己命名标识符时不能使用保留字.C语言使用ASIC II(美国信息标准化字符集)来表示字符,其程序结构和C++,JACA等一样有选择,循环,分支等常用结构.计算机是不能执行C语言源程序的,必须先要使用编译器使源程序编译成目标代码,再使用连接程序使之成为可执行程序才能运行.目前编程语言主要分为四代,第一代就是机器语言,特点是执行效率高,但对程序员要求高,移植性很差第二代是符号语言,也就是常说的汇编语言,特点跟第一代差不多,对程序员要求就低了些第三代就是现在常用的C,C++,JAVA,VB等高级语言,特点是对程序员要求低,不用熟悉机器的硬件,移植性好.第四代目前正在研究中吧,好像称为人工智能语言.

以上是个人观点,有什么错误之处请不要见怪.