以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。includemain(){以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。 #include <stdio.h> main() { int *p,*q,a,b; p=&a; printf("input a:"); scanf("%d",*p); }A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量

题目
以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。includemain(){

以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。 #include <stdio.h> main() { int *p,*q,a,b; p=&a; printf("input a:"); scanf("%d",*p); }

A.*p表示的是指针变量p的地址

B.*p表示的是变量a的值,而不是变量a的地址

C.*p表示的是指针变量p的值

D.*p只能用来说明p是一个指针变量


相似考题
更多“以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。#include<stdio.h>main(){ ”相关问题
  • 第1题:

    以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。 #include<stdio.h> main() { FILE *fout; char ch; fout=fopen('abc.txt','W'); ch=fgetc(stdin); while (ch!='#') { fputc (ch,fout); ch=fgetc(stdin); } fclose (fout); } 出错的原因是( )。

    A.函数fopen调用形式错误

    B.输入文件没有关闭

    C.函数fgetc调用形式错误

    D.文件指针stdin没有定义


    正确答案:A
    解析:stdin是标准输入设备的文件指针,不须定义直接可以使用,它随系统的启动而打开,随系统的关闭而关闭,fgetc()函数的作用是从某个文件中读取一个数据,其参数为要读取文件的文件指针,所以本题中的调用形式是正确的。fopen()函数有两个参数,第一个参数是打开的文件名,第二个参数是文件打开模式,两个参数都是字符串,本例中“fout=fopen('abc.txt','w');”语句的fopen()函数参数是错误的,应该用双引号"",正确的应改为“fout=fopen("abc.txt","w");”。所以,A选项为所选。

  • 第2题:

    以下四个程序中,完全正确的是()。A.include main( ); { /* programmlng* / printf( "p

    以下四个程序中,完全正确的是( )。

    A.#include <stdio.h> main( ); { /* programmlng* / printf( "programming! \n" ); }

    B.#include <stdio.h> main( ) { /*/programming printf("programming! \n"); }

    C.#include <stdio.h> main( ) { /*programming* / printf( "programming! \n" ); }

    D.include <stdio.h> main ( ) { /*/* programming*/*/ printf( "programming! \n" ); }


    正确答案:C
    解析:选项A)main();后面不应该有分号;选项B)中的注释语句不正确;选项D)的include前缺少#。

  • 第3题:

    以下程序中调用cin函数给变量a输人数值的方法是错误的,其错误原因是includevoid ma

    以下程序中调用cin函数给变量a输人数值的方法是错误的,其错误原因是 #include<iostream.h> void main() { int*p,*q,a,b; p=&a; cout<<”input a:”; cin>>p; }

    A.*p表示的是指针变量p的地址

    B.p表示的是变量a的地址,而不是变量a的值

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    正确答案:B
    解析:p表示的是变量a的地址,定义后*p表示的是变量a的值。

  • 第4题:

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是includevoid ma

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是 #include<iostream.h> void main( ) { int * p, * q, a, b; p=&a; cout < < "input a:"; cin >> p;

    A.* p表示的是指针变量p的地址

    B.p表示的是变量a的地址,而不是变量a的值

    C.* p表示的是指针变量p的值

    D.* p只能用来说明p是一个指针变量


    正确答案:B
    解析:p表示的是变量a的地址,定义后 * p表示的是变量a的值。

  • 第5题:

    若执行下列程序时从键盘上输入2,则输出结果是()。 inclUde main() {int a; scanf("%d",

    若执行下列程序时从键盘上输入2,则输出结果是( )。

    #inclUde<stdio.h>

    main()

    {int a;

    scanf("%d",&A);

    if(a++<3)

    printf("%d\n",A);

    else printf("%d\n",a--);

    }

    A.1

    B.3

    C.2

    D.4


    正确答案:B
    解析:本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

  • 第6题:

    有以下程序 include main() {char c1,c2;scanf("%c",*c1);while(c1<65||c1>90)scanf("%

    有以下程序

    include<stdio.h>

    main()

    { char c1,c2;

    scanf("%c",*c1);

    while(c1<65||c1>90) scanf("%c",&c1);

    c2=c1+32;

    printf("%c,%c\n",c1,c2);

    }

    程序运行输入6回车后,自否输出结果、结束运行(请回答能或不能)【 】。


    正确答案:不能
    不能 解析:本题原意想把大与英文字母转换成小写字母,但由于输入数据时不正确致使循环无限制地进行下去,应该输入大写英文字母,因此,本题无输出结果,不能结束运行。

  • 第7题:

    以下程序:includemain(){char str[10];scanf("%s",&str);printf("%s\n",str);}运

    以下程序: #include<stdio.h> main() {char str[10]; scanf("%s",&str); printf("%s\n",str); } 运行上面的程序,输入字符串how are you,则程序的执行结果是( )。

    A.how

    B.how are you

    C.h

    D.howareyou


    正确答案:A
    解析:当从键盘输入bow are you时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将how这3个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

  • 第8题:

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。includevoid m

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是( )。 #include<iostream.h> void main() {int*p,*q,a,b; p=&a; eout<<"input a:"; cin>>p; }

    A.*p表示的是指针变量p的地址

    B.p表示的是变量a的地址,而不是变量a的值

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    正确答案:B
    解析: p表示的是变量a的地址,定义后*p表示的是变量a的值。

  • 第9题:

    下列给定程序中,函数fun的功能是按以下递归公式求函数值。

    例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。

    请改正程序中的错误,使它能得到正确结果。

    注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio.h>

    /*************found****+*******/

    fun(int n);

    {

    int c;

    /*************found********+*****/

    if(n=1)

    c=15;

    else

    c=fun(n-1)*2;

    return(c);

    }

    main()

    {

    int n;

    printf("Enter n:");

    scanf("%d",&n);

    printf("The result:%d\n\n",fun(n));

    }


    正确答案:(1)错误:fun(int n); 正确:fun(int n) (2)错误:if(n=1) 正确:if(n==1)
    (1)错误:fun(int n); 正确:fun(int n) (2)错误:if(n=1) 正确:if(n==1) 解析:错误1:该行是函数的首部,不是一条语句,因此不能以分号结束。错误2:if垢面应该紧跟一个条件判断表达式,若写成“if(n=1)”,则说明该表达式的值永远为真,也就是说这个条件永远成立,没有递归执行。

  • 第10题:

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )。 #include<iostream.h> void main {int * P,* q,a,b; P=&a: eout<<”input a:”; cin>>P:

    A.* P表示的是指针变量P的地址

    B.P表示的是变量a的地址,而不是变量a的值

    C.*P表示的是指针变量P的值

    D.*P只能用来说明P是一个指针变量


    正确答案:B
    P表示的是变量a的地址,定义后*P表示的是变量a的值。

  • 第11题:

    执行以下程序时输入1234567,则输出结果是【 】。 includemain(){int a=1,b; scanf("%2

    执行以下程序时输入1234567<CR>,则输出结果是【 】。

    include <stdio.h>

    main()

    { int a=1,b;

    scanf("%2d%2d",&a,&b); prinff("%d %dhn",a,b);

    }


    正确答案:12  34
    12  34 解析:本题考查的知识点是:Scanf()函数。 scanf()是标准输入函数;其第1个参数为格式控制字符串。其中“%2d”表示读入一个2个字符宽的整数。所以本题代码将连续读入2个2字符宽的整数分别存到变量a和b中。根据题目要求,输入数据1234567CR>,则scanf()读入的两个整数分别为 12和34,故输出结果为12  34。

  • 第12题:

    单选题
    以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是()。    main( )  { int *p,*q,a,b;     p=&a;     printf(“input a:”);     scanf(“%d”,*p);     ……  }
    A

    *p表示的是指针变量p的地址

    B

    *p表示的是变量a的值,而不是变量a的地址

    C

    *p表示的是指针变量p的值

    D

    *p只能用来说明p是一个指针变量


    正确答案: A
    解析: 暂无解析

  • 第13题:

    以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是

    main()

    { int *p,*q,a,b;

    p=&a;

    printf("input a:");

    scanf("%d",*p); }

    A.*p表示的是指针变量p的地址

    B.*p表示的是变量a的值,而不是变量a的地址

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    正确答案:B
    解析:考查格式输入语句scanf的使用。本题经过定义语句和赋值后,p表示的是变量a的地址,*p表示的是变量a的值。

  • 第14题:

    以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符串#号时结束输入和输出操作,但程序有错 #include<stdio.h> main() { FILE*fout; char ch; fout=fopen('abc.txt','w'); ch=fgetc(stdin); while(ch!='#') { fputc(ch,four); ch=fgetc(stdin); } fclose(fout); } 出错的原因是______。

    A.函数fopen调用形式错误

    B.输入文件没有关闭

    C.函数fgetc调用形式错误

    D.文件指针stdin没有定义


    正确答案:A
    解析:本题考查的是文件的打开函数fopen(),其调用方式通常为FLIE*fp;fp=fopen(文件名,使用文件方式);,如:fp=fopen("abc.txt","w");表示要打开名字为abc.txt的文件,使用文件方式写入。fopen函数带回指向abc.txt文件的指针并赋给fp,即fp指向文件abc.txt。

  • 第15题:

    执行程序时的输入为123456789,则程序的运行结果为( )。 include"stdio.h" main() { int a,b; scanf("%2d%*2d%1d",&a,&B); printf("%d\n",a-B); }


    正确答案:7
    7

  • 第16题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。include main(){int a[10],j

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。#include <stdio.h>main(){ int a[10],j=0; while(i<10)scanf("%d", ______ ); : :}

    A.a+(i++)

    B.&a[i+1]

    C.a+ i

    D.&a[++i]


    正确答案:A
    解析:a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入一个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第17题:

    有以下程序include main(){int x; scanf("%d",&x); if(x<=3);else if(x!=1O)print

    有以下程序 #include <stdio.h> main() { int x; scanf("%d",&x); if(x<=3); else if(x!=1O) printf("%d\n",x); } 程序运行时,输入的值在______范围才会有输出结果。

    A.不等于10的整数

    B.大于3且不等10的整数

    C.大于3或等于10的整数

    D.小于3的整数


    正确答案:B
    解析:本题考查的是if-else语句的执行过程当条件表达式x=3时,由于if语句末尾直接是分号,没有语句,因此没有语句执行;否则,即当条件表达式x>3时转向else语句,如果x!=10执行printf语句,因此输入的x的范围应该是大于3且不等于10的整数。

  • 第18题:

    下面的程序在编泽时产生错误,其出错原因是()。includemain(){int 1_case;float printF;

    下面的程序在编泽时产生错误,其出错原因是( )。 #include<stdio.h> main() {int 1_case;float printF; printf("请输入2个数:"); scanf ("%d%f",&1_case,&printF); printf("%d%f\n",1_case,printF); }

    A.定义语句出错,1_case不能作为变量名

    B.定义语句出错,printF不能用作用户自定义标识符

    C.定义语句无错,scanf不能作为输入函数使用

    D.定义语句无错,printf不能输出1_case的值


    正确答案:A
    解析:C语言变量名可由数字,字母,下划线构成,但首字符不能为数字。

  • 第19题:

    以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。 #include(iostream.h) voidmain( ) {int*P,*q,a,b; p=&a; cout<<"inputa:"; cin>>P; }

    A.*P表示的是指针变量P的地址

    B.P表示的是变量a的地址,而不是变量a的值

    C.*P表示的是指针变量p的值

    D.*P只能用来说明P是一个指针变量


    正确答案:B
    B。【解析】p表示的是变量a的地址,定义后*P表示的是变量a的值。

  • 第20题:

    以下四个程序中,完全正确的是______。A.include main(); {/*programming*

    以下四个程序中,完全正确的是______。

    A.#include <stdio.h> main(); {/*programming*/ printf("programming!\n");}

    B.#inc lude<stdio.h> main() {/*/programming/*/ printf("programming!\n");}

    C.#include <stdio.h> main() {/*programming*/ printf("programming!\n");}

    D.include<stdio.h> main() {/*/*programming*/*/ printf("programming!\n");}


    正确答案:C
    解析:C程序中注释用“/*”和“*/”括起来,它可以出现在程序中任何合适的地方。选项A中“main();”是—个函数声明语句,下面的大括号及其内容作为—个语句块,应放在程序的大括号中,故选取项A错误;选项B中的注释语句不正确,因为程序在编译时认别到两次“/*”作为注释的开始,但为识别到“*/”作为注释的结束,故选项B错误;选项 D的“include”前缺少“#”,故选项D错误。

  • 第21题:

    执行下列程序时输入12345678,程序的运行结果是______。 include main() { int x,y; sca

    执行下列程序时输入12345678,程序的运行结果是______。 #include<stdio.h> main() { int x,y; scanf("%2d%2d"); printf("%d\n",x+y); }

    A.17

    B.46

    C.15

    D.9


    正确答案:B

  • 第22题:

    下列程序运行时输入1234567,则输出结果是______。includemain(){ int a=1,b;scanf("

    下列程序运行时输入1234567<CR>,则输出结果是______。

    include<stdio.h>

    main()

    { int a=1,b;

    scanf("%2d%2d",&a,&b);printf("%d %d\n", a,b);

    }


    正确答案:

    本题考查的重点是scanf函数的调用。scanf(“格式化字符串>”,地址表>),格式化字符串后可以加上场宽,本题中两个变量的场宽都为2,所以输入1234567CR>后,变量a的值为12。变址b的值为34,从而输出为12 34。

  • 第23题:

    以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是()。    main( )  { int *p,*q,a,b;     p=&a;     printf(“input a:”);     scanf(“%d”,*p);     ……  }

    • A、*p表示的是指针变量p的地址
    • B、*p表示的是变量a的值,而不是变量a的地址
    • C、*p表示的是指针变量p的值
    • D、*p只能用来说明p是一个指针变量

    正确答案:B