:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
:文章若有幸对你有帮助,可点赞 收藏 ⭐不迷路
:内容若有错误,敬请留言 指正!原创文,转载请注明出处
为表示关系x≥y≥z,应使用C语言表达式为()
A. (x>=y)&(y>=z)
B. (x>=y)AND(y>=z)
C. (x>=y>=z)
D.(x>=y)&&(y>=z)
答案:D
知识点:运算符,包括算数、判断、逻辑和位运算符
思路: &&是逻辑与,符合题意。注意区分位运算的运算符,容易搞混。
设有如下的定义:
int *(*ptr)( ):
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是指向函数的指针,该函数的返回值是指向int型数据的指针
答案:D
知识点:函数指针与指针函数
思路:
int ( ptr )( )是很常见的函数指针,其形参为空,返回值是int,ptr 是指向函数的指针。
int * ( * ptr )( )这个就是将返回值类型变成了一个int,实际上就是返回了这个整型数据的地址。
在C语言中,运行下面代码表示一次性地给数组a的10元素赋值。
int a[10];
scanf("%d",a);
A.正确 B.错误
答案:B
知识点:数组名表示的地址
思路:数组名表示该数组的首地址,等同于首元素的地址&a[0]。而scanf 是 C 语言中的一个函数,用于从标准输入(通常为键盘)读取输入数据。它是标准库中的一个函数。因此scanf(“%d”,a)的结果是将数组a的首地址作为输入数据,而并不表示一次性地给数组a的10元素赋值。
补充:scanf
函数的基本语法
scanf(format, variable1, variable2, ...);
其中,format
是一个字符串,用于指定输入的格式;variable1
、variable2
等是变量,用于存储输入的值。
例如,如果要读取一个整数并存储到变量 num
中,可以使用以下 scanf
语句:
int num;
scanf("%d", &num);
请注意,%d
是格式控制符,用于指定输入为整数。
要读取多个值,可以在 format
字符串中使用相应的格式控制符,并在变量参数前加上取址符 &
。
下面程序执行后的输出值是()
#include
#define SUM(x) 3*x*x+1
int main()
{
int i = 5, j = 8;
printf("%d\n", SUM(i + j));
return 0;
}
A.64 B.508 C.420 D.其他几项都不对
有如下C语言的程序段
short si = -32767;
unsigned short usi = si;
执行上述两条语句后,usi的值为()
A.-32767 B.32767 C.32768 D.32769
答案:D
知识点:无符号整型的转化
思路:先把-32767表示成原码形式是(因为补码不是一步可以得到的,先原码再补码)
-32767原码=1111 1111 1111 1111
-32767补码 =1000 0000 0000 0001
再把这个补码赋给usi,usi会把最高位符号位1也当做数值位
usi=1000 0000 0000 0001=32769
以下代码的输出结果是?
char* p = “abc”;
char* q = “abc123”;
while (*p == *q)
{
printf(“%c%c”, *p, *q);
p++;
q++;
}
A.aabbcc B.aabbcc123 C.abcabc123 D.代码段错误