はじめまして!パソコン初心者です。
C言語をやりたいのですが、難しくてわかりません。
PERLやJAVAもやりたいです。
でもどれから先にやったらいいのかわかりません。
あと初心者にはどんなプログラミングがお勧めか教えてください。
あとUNIXを使いたいのですが、ログインの仕方がわかりません。
本当に基本的なことですがどうか教えてください。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

こんにちは。



No.1さんとはまったく違う意見なのですが(悪意は全然無いです (^-^;)、

C言語がシステム記述言語と呼ばれ、PASCALが学習用に向いている、
というのは大昔の話です。結果的にCを学ぶのであれば、
最初からCを学んだ方がわかりやすいかもしれません。
PASCALは使い道なさそうですし。

私の場合は(時代からいって)BASICを学んでCを学びました。

Cを学ぶ際にお勧めの本はソフトバンクから出ている
「新C言語入門」シリーズです。程度によって分かれていますが、
まずは「スーパービギナー編」を本屋で立ち読みし、
内容がわかるのであれば「ビギナー編」「シニア編」を買えばよいと思います。

私はこの本だけで独学でCを勉強しました。Cは簡単です。

勉強する上で大切なことは「本を読むことだけで勉強しようとしないこと」です。
何でもいいですから自分でプログラムを書きながら出ないと身に付きません。

フリーのコンパイラがあるので、自分でプログラムを書き、
コンパイルして、実行結果を確かめながら勉強するのがいちばんです。
UNIXにログインできるのであれば、ふつーはコンパイラがあるので、
それで勉強できるでしょう。

Cを勉強すればPerlは参考書一冊あればよゆーで理解できます。

ただ、逆に、Cを勉強してしまうとオブジェクト指向言語である
JavaやC++を勉強しにくい、かもしれません(私がそうです(汗))。

また、ろぐいんのしかたは、telnet というソフトを使います。
Windowsからであれば、コマンドプロンプトから

C:\>telnet 123.456.789.101 <- ログインするマシンのIPアドレス

とすればログインできます。
    • good
    • 0
この回答へのお礼

本当にたくさん教えてくださってありがとうございます。
CとC++は結構違うらしいですねぇ!
いろいろとありがとうございます。

お礼日時:2001/10/24 08:52

こんにちは。

同じようなIDですね。

参考までに
私は情報系の大学生でありカリキュラムは
こんな感じだと思います。

1年でC言語
2年でアルゴリズムとデータ構造
3年で応用(基本はC言語)
4年で卒業研究(大きめのプログラム作る。言語はなんでもよし)

といった風になっています。使用OSは常にUNIXです。

大学は常に将来役にたつであろう技術を学ばせようとしてると思います。
私は趣味でVisualC++などをやってますが大学で教えられなくて
本当に良かったと思っています。

趣味でプログラミングするなら何でもよいですが
本職にしたいと思うならいずれ捨てられる技術は今は敬遠し
基礎を身につけましょう。
とは言いながらVisualC++やってるときがが一番楽しかったりもします。
WindowsAPIおぼえても学校や資格の試験でいい点とれませんが・・

私もJavaには大賛成です。これから絶対必要そうなオブジェクト指向が
身につけれやすいですので。C++で学ぶのよりは簡単でしょう。
    • good
    • 0

こんにちは。


プログラムの基本は、どの言語でも学べます。言語で選択する事よりも、環境で選択する事のほうが重要ですから、ビジュアル開発環境で結果が出しやすいものを選ぶといいと思います。
それで、個人的にはJAVAをお勧めします。
Borland JBuilder5 Personal などは、プログラムを始めるきっかけとして良い製品(ダウンロードして使うぶんには無料)です。

参考URL:http://www.borland.co.jp/jbuilder/jb5/download/
    • good
    • 0
この回答へのお礼

はじめましてです。本当に親切に答えてもらってありがとうございます。

お礼日時:2001/10/24 08:46

leiqunniさんの言うとおり、C言語は初めに学習するのに最適な言語なんですが


これでなにかソフトを作ろうとすると初心者にはかなり難しいものがあります。

学校に行ってC言語を教えてもらうが、たぶん一番いいと思うのですが、
独学でということであれば、ちょっと遠回りですがHSPから始めるというのは
いかがでしょうか?

HSPは昔のBASICのようにプログラムを書いたらすぐに動くというインタプリタ言語です。まったくの初心者でもすぐ簡単なソフトを作ることが可能です。
これでまずプログラミングの楽しさとアルゴリズムを勉強していって、それから
Cを学ぶという方法もあると思います。

欠点は、CやJAVAのようにビジネスで使われる言語でないこと、C言語とは文法がかなり違う(昔のBASICと一緒)、構造化言語でない、ポインタも構造体もないといろいろあるんですが、昔のプログラマがたどってきた道をそのままたどっていくということができます。(失敗も(^^;)

参考URLで本体と専用エディタを入手して、下のページで勉強していってみてはいかがでしょう。

HSPセンター
http://hspcenter.com/

参考URL:http://www.onionsoft.net/hsp/hsp2dl.html
    • good
    • 0

No.1、2どちらの人の意見ももっともです。



ただ、C言語でもOSのシステムコールを必要としないプログラムもかけますので、簡単といえば簡単ですし、
内容によっては、OSのシステムコールを必要とする場合もありますから、極めようと思うと、難しいかも知れません。
なにをしたいか(最終的な目的)によって難しいか簡単かが決まってきます。

PASCALも使い道なさそうですが、デルファイを勉強する際、便利らしいです。(この部分に関しては全く自信なし)
    • good
    • 0

はじめまして。


パソコン初心者がシステム記述言語のCを学ぶのはどうかと思います。
とりあえずはプログラムテクニックを学ぶのが先だと考えますので、Pascalなどはどうでしょうか?
PERLやJAVAははっきりわかりませんが、Pascalならアメリカで入門用として使用されているので最適だと思います。

C言語でプログラミングするには、OSのシステムコールの詳細やパソコンのソフト的な構造など膨大な情報が必要になります。
独学では不可能ではないかと思います。
もし、どうしても学びたかったら専門の学校に行ったほうが良いかと思われます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qプログラミング入門に最適な言語

プログラミング入門に最適な言語
最近プログラミングに興味をもって、プログラミングに挑戦しようと思ってます。

最終的にC++へ行くつもりですが、何の言語からはじめるのがいいでしょうか。
よろしくお願いします。

Aベストアンサー

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめます。

まずは、プログラミングの楽しさ、醍醐味を味わってみてください。

入門書等についてですが
あなたが趣味でコツコツプログラミングをし、
出来たものを自分だけで使うのが目的なら
何でもいいです。

ただし、プログラムを公開する
(フリー、商用問わず)
また、ソースコード(一部でも)
(こういうサイトで質問の為に提示することを含む)
つもりがあるなら、

「きちんとした書籍」

で学ぶことをお勧めします。
「10日で・・・」
とかうたっている物の中には
「動けばいい!」
という姿勢で書かれたものが多く、
ソースコードが非常に読みにくいです。

読みやすいソースコードであれば
こういうサイトでも回答が付きやすいですが、
読みにくいソースコードは
分析に非常に時間がかかるので
回答がなかなかつきません。

また、読みやすいソースコードは
バージョンアップも簡単ですし、

一般に
(例外はありますが)
動作も早く、コンパクトです。

頑張ってください!!!

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめま...続きを読む

QUnixでC言語を学習中(初心者です)。

こんにちは。C言語の学習を始めたばかりの社会人です。
下記のソースコードを実行すると、
「009e 10
 00a2 35
00a6 25
00aa 67
00ae 88
00b2 29」
というイメージ表示されるはずなのですが、アドレスが別な値になるのは仕方ないとして、アドレスを4桁で表示しようとしても7桁くらいで表示されてしまいます。Unixサーバを使用しています。
どうすればよろしいでしょうか?
ご回答頂ければありがたいです。

#include<stdio.h>

int main()
{
static long a[]={10L,35L,25L,67L,88L,29L,-999L};
long *pa;
pa=a;
while(*pa!=-999L){
printf("%04x %ld\n",pa,*pa);
pa++;
}
printf("\n");
return 0;
}

Aベストアンサー

★アドレスをとにかく4桁で表示したいのですか?
・それならば、アドレスを一度 int 型の整数値にキャストしてから 16進 4桁に AND するのが基本です。
・方法は既に tatsu99 さん、tea_sheep さんが回答を出していますので、printf 関数の書式文字列に
 ついて少しアドバイスします。
・通常アドレスを表示する書式制御は『%p』です。→tea_sheep さんの助言どおりですね。
・それで、『%X』や『%x』を使って 16進 4桁にするには精度を指定すればよいのです。
 つまり、『%04X』を『%04.4X』とピリオドと最大桁数を指定します。
 これで、『pa』を unsigned long や unsigned short などにキャストするだけですみます。

方法1:
printf( "%04.4x %ld\n", (unsigned int)pa, *pa );

方法2:
printf( "%04x %ld\n", (unsigned short)pa, *pa );

方法3:
printf( "%04x %ld\n", ((unsigned int)pa & 0xFFFF), *pa );

最後に:
・コンパイラの int 幅が 64 ビット長の場合は (unsigned int) を (__w64) とキャストして下さい。
 つまり、
 方法1:printf( "%04.4x %ld\n", (__w64)pa, *pa );
 方法2:printf( "%04x %ld\n", (unsigned short)(__w64)pa, *pa );
 方法3:printf( "%04x %ld\n", ((__w64)pa & 0xFFFF), *pa );
 となります。
・なお、(__w64)は、私の使っているコンパイラの定義でのお話ですのでお使いのコンパイラの 64 ビット
 整数のキャスト演算子を指定します。→Windows.h ヘッダを include していると (INT64) でもキャスト
 可能ですが、質問者さんは Unix の OS ですか。
・まぁ、とにかく整数型へキャストしてから桁数を丸め込んで表示するのが基本の考えです。
・以上。おわり。

★アドレスをとにかく4桁で表示したいのですか?
・それならば、アドレスを一度 int 型の整数値にキャストしてから 16進 4桁に AND するのが基本です。
・方法は既に tatsu99 さん、tea_sheep さんが回答を出していますので、printf 関数の書式文字列に
 ついて少しアドバイスします。
・通常アドレスを表示する書式制御は『%p』です。→tea_sheep さんの助言どおりですね。
・それで、『%X』や『%x』を使って 16進 4桁にするには精度を指定すればよいのです。
 つまり、『%04X』を『%04.4X』とピリオドと最...続きを読む

Qコンピュータープログラミング入門の本

コンピュータープログラミングを独学で学びたいと思ってます。
どのようなことがやりたいか一概にいえませんが、当面はHPを好き勝手に作れるようになったり、ある程度プログラミングが理解できるようになりたいと思ってます。
入門の本(解りやすく飽きさせない、ある程度網羅できる)
という本はないでしょうか??
お願いします。

Aベストアンサー

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログラミング言語C第2版」は、JavaScript の習得のためです。
同著の例文をJavaScriptで書けるようになれば、ほぼ、同言語の文法的なマスターは終了。
「プログラミング言語C第2版」は、かなり古いです。
だが、その例文の再現は、プログラミングの習得にもなり一石二鳥じゃないですかね。
かなり、プログラミングに関する基本的なことが学べますよ。

「Web標準の教科書」は、「XHTMLとCSSでサイトをつくる」上では大変に参考になりました。

なお、プログラミングの独学の成否は、入門書ではなくヘルプ文のみで壁を突破できるか否か。
還暦まじかのじっちゃまは、このように思いますよ。

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログ...続きを読む

QC言語でファイルを表示させるプログラミングがわかりません。

以下のC言語のプログラミングがわかりません。どなたかわかりませんか?
ファイルdata.txtに人の名前と生年月日を追記し、ファイルをいったん閉じてから開きなおし、ファイルの内容を表示するプログラムを作成する。
同じプログラムを2度実行すると、前に入力したときの人の名前と生年月日も表示されるようになる。

複数人のデータが連続して入力できるように工夫する。形式は以下のようにスペースとコンマで区切って記録する。(文字列の後ろにはスペースを入れるように注意する。)
Taro , 1985, 6,23
Jiro ,1983, 7,31
そして、
半角の名前と 生年月日(三つの数字)がコンマで区切って各人に対してファイルに記録できるようにする。
一人分のデータが一行で記録されている。
1回の実行で,複数人のデータを連続して入力できる。

全然わからなくて以下のようなことしかできませんでした。

#include<stdio.h>
int main()
{
char name[20];
int i,j,k;
scanf("%s ,%d, %d, %d", name, &i, &j, &k);
printf("%s ,%d, %d, %d", name, i, j, k);
}

以下のC言語のプログラミングがわかりません。どなたかわかりませんか?
ファイルdata.txtに人の名前と生年月日を追記し、ファイルをいったん閉じてから開きなおし、ファイルの内容を表示するプログラムを作成する。
同じプログラムを2度実行すると、前に入力したときの人の名前と生年月日も表示されるようになる。

複数人のデータが連続して入力できるように工夫する。形式は以下のようにスペースとコンマで区切って記録する。(文字列の後ろにはスペースを入れるように注意する。)
Taro , 1985, 6,23
J...続きを読む

Aベストアンサー

ざっと書いてみましたので、参考にしてください。
scanf("%s,%d,%d,%d" , name , &year , &month , &day);
とせずに、名前と生年月日の入力をわけたのは、
一緒にしてしまうと、
例えばtarou,2007,1,1と入力した時に、
それが全てnameに格納されてしまい、
year,month,dayにゴミが入ってしまうためです。

どうしても一緒に入力したいのであれば、
scanf("%d,%d,%d,%s" , &year , &month , &day , name);
の順で入力させるか、或いは
scanf("%s" , buf);
として一旦全て別のバッファに格納した後、それを解読するような手法をとることになるかと思います。
例えばstrtokという関数がありますので、その利用を考えてみてください。

#include <stdio.h>
#include <stdlib.h>

const static int TRUE = 1;
const static int FALSE = 0;
const static int BUFSIZE = 1024;
const static char* DATAFILE = "data.txt";

int open_file(FILE** , const char * const , const char * const);
void read_data(void);
void write_data(void);

int main(void)
{
read_data();
write_data();
return 0;
}

/*
ファイルを開く
引数
fp ファイルポインタへのポインタ
fname ファイル名
mode ファイルを開く際のモード
戻り値
オープン成否
*/
int open_file(FILE** fp , const char * const fname , const char * const mode)
{
FILE* f;
f = fopen(fname , mode);
if(f == NULL)
{
fprintf(stderr , "cannot open file %s with mode %s\n" , fname , mode);
return FALSE;
}
*fp = f;
return TRUE;
}

/*
あれば、DATAFILEを読む
無ければ何もしない
*/
void read_data(void)
{
FILE* fp;
if(! open_file(&fp , DATAFILE , "r"))
{
return;
}
char buf[BUFSIZE];
while((fgets(buf , BUFSIZE , fp)) != NULL)
{
printf(buf);
}
fclose(fp);
}

/*
ユーザに入力を求め、ファイルへ出力
*/
void write_data(void)
{
FILE* fp;
if(! open_file(&fp , DATAFILE , "a"))
{
fprintf(stderr , "error in write_data.\n");
exit(EXIT_FAILURE);
}
while(TRUE)
{
char name[BUFSIZE];
int year , month , day;
// 氏名の入力
printf("name (for exit, enter 'quit')> ");
scanf("%s" , name);
if(strncmp(name , "quit" , 4) == 0)
{
break;
}
// 生年月日の入力
printf("birthday > ");
scanf("%d,%d,%d" , &year , &month , &day);
fprintf(fp , "%s,%d,%d,%d\n" , name , year , month , day);
}
fclose(fp);
}

ざっと書いてみましたので、参考にしてください。
scanf("%s,%d,%d,%d" , name , &year , &month , &day);
とせずに、名前と生年月日の入力をわけたのは、
一緒にしてしまうと、
例えばtarou,2007,1,1と入力した時に、
それが全てnameに格納されてしまい、
year,month,dayにゴミが入ってしまうためです。

どうしても一緒に入力したいのであれば、
scanf("%d,%d,%d,%s" , &year , &month , &day , name);
の順で入力させるか、或いは
scanf("%s" , buf);
として一旦全て別のバッファに格納した後、そ...続きを読む

Qプログラミング入門

プログラミング入門
今、私はプログラミングの勉強をしたいなーと思っています。それでホント初心者でも一からできるソフトはないでしょうか?または詳しく乗っているサイトを教えてください<m(__)m>
できればJAVAかCがいいです

Aベストアンサー

こういうのって人それぞれだと思いますが^^;

とりあえず、私は

http://wisdom.sakura.ne.jp/

このサイトで育ちました。

これから始めると言うのであれば開発環境が整っている言語が楽だと思うので

フリーならば

eclipseでjava

http://www.javadrive.jp/eclipse3/

hsp

http://hsp.tv/

フリーじゃないならば

visual studioをつかってVBやc言語

もしくは#1さんがおっしゃられているようにVBAあたりでしょうか

QPHPやCGIやPerlやRubyやC言語・・

はじめまして。
仕事上の関係でプログラミングを今から覚えようと思っています。

PHPやCGIやjavaやPerlやRubyやC言語などありますが、
どれをおぼえたらいいのかまったくわかりません。

ちなみに覚えてやろうと思ってることが、
ランキングサイトとサブアドを運営する為です。

この場合何を覚えたらいいのでしょうか?

ちなみに初心者向けやオススメ参考書などあれば一緒に教えてください。

Aベストアンサー

>仕事上の関係でプログラミングを今から覚えようと思っています。
>PHPやCGIやjavaやPerlやRubyやC言語などありますが、
言語は、規模やメンテ性で選ぶものだと思いますが小規模で個人が運営する場合はPHPやPerlが多いと思われます。
ちなみにCGIという言葉は、技術を指す言葉で特定の言語を指すわけではありません。
http://ja.wikipedia.org/wiki/Common_Gateway_Interface

運営するサーバー次第で使える言語も違ったりします。例えば、自分でサーバー自体を管理するのか、サーバーを借りるのかでも話が違ってきます。
C言語をCGIで使うのは、よほど高速性を求めたいときだと思いますのでプロに任せたほうが良いでしょう。
CGI専用のカテゴリがありますので、細かい相談はそちらでお願いします。
[技術者向] コンピューター > プログラミング > CGI

>ランキングサイトとサブアドを運営する為です。
カテゴリを移る前に聞いておきたいのですが、サブアドを運営するってどんなサービスを考えていますか?
ランキングサイトもデータベースが必要となる大規模のものかによって話が違いますので、カテゴリを移る前に検討しておいてください。

カテゴリを移る場合は、こちらの質問を締め切ってください。マルチポストで削除対象になってしまいます。

>仕事上の関係でプログラミングを今から覚えようと思っています。
>PHPやCGIやjavaやPerlやRubyやC言語などありますが、
言語は、規模やメンテ性で選ぶものだと思いますが小規模で個人が運営する場合はPHPやPerlが多いと思われます。
ちなみにCGIという言葉は、技術を指す言葉で特定の言語を指すわけではありません。
http://ja.wikipedia.org/wiki/Common_Gateway_Interface

運営するサーバー次第で使える言語も違ったりします。例えば、自分でサーバー自体を管理するのか、サーバーを借りるのかでも話が...続きを読む

Qデバイスドライバのプログラミングでおすすめの入門本

Deamon Toolのような仮想マウントソフトを作りたいと考えています。
そこで、いろいろ調べているとWindows Device Kit(WDK)を使ってプログラミングをする必要があることが分かりました。

実際、この種のプログラミング本は少ないようで、おすすめの入門者が読めそうな本があれば教えてください。
ちなみに、C/C++言語の知識はあります。

Aベストアンサー

Windows Driver Kitには、サンプルコードとドキュメントが含まれています。

通常のWindowsアプリケーションを作成できる技量がある技術者であれば、サンプルコードとドキュメントが入門書の代わりになります。

通常のWindowsアプリケーションを作成できる技量がないのであれば、たとえ入門書があっても、読んでて内容が理解できないでしょうし、サンプルコードとドキュメントを見ても意味不明でしょう。

そういう訳で「入門書が要らない」ので「入門書がない」のです。

まずは、Windows Driver Kitのインストールセットを入手し、インストールしましょう。

QUNIXプログラミング execについて。

execveで、引数に環境変数がありますが、これはいったいどういうときに使うのですか?いまいち分かりません。
簡単なシェルスクリプトを作成しているのですが、今は環境変数の意味がよくわからないので、execvpなどを使っています。
path検索をするかしないかの使い分けはわかります。
ですがたとえば、
execv と execve
execl とexecle

はどう違うのでしょうか。

Aベストアンサー

execのあとの
vはベクトル
lはリスト
eは環境変数
を表しています。
vとlは引数の与え方が違うと思います。
lは一つずつ','で区切って最後にnullで締めくくる形式で引数を表す文字列へのポインタ。
vは引数の集合へのポインタ
eで環境変数を与えるのは環境変数が必要なプログラムだからだと思います。

下のURLはlinuxのmanの日本誤訳です

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/execl.3.html

Qプログラミング入門者、言語の選択?

プログラミングは本当に初めてですが、言語の選択について質問させて下さい。
ある事がキッカケでプログラミングなる物を初めてみようと思ったのですが、
javaであったり、C+であったり・・・と色々な言語がある様で戸惑っています。
それぞれの言語を勉強するに当たり、必要な環境等は書店で売られている入門書で十分理解出来る(内容では無く用意するソフト等の事)のですが、入門の入門にでも該当するのでしょうか?どの言語が何に向いている(又は初心者向けor上級者向け等)と言った基礎の基礎って意外と無いものです。
家計簿ソフトの様な物(用途は違う)が出来たら最高なのですが、何(言語)から勉強したら良いのでしょう?
難易度の高低より、出来れば投資額が少なく、汎用性を重視したいのですが・・・
Windows CE等のPDAなんかでも稼働するソフトなら更に良いのですが・・・。
ps:難易度の高低より・・・以降の希望が無謀な事なのかどうかも分からない位ですが、
   初めて見ようと思った気持ちを大切に恥ずかしながら質問させて頂きます。よろしくお願いします。

Aベストアンサー

Excelはどうでしょう?

Excel???なんて思われるかもしれませんが、マクロ機能の中にVBAというBasicが搭載されています。これはMicrosoftの開発言語のVBとほぼ同じことができるものです。
Excelの上で動かせるのでExcelの機能も簡単にアクセスできますし、家計簿のようなものを作るのであれば簡単にできると思います(完成度の高いものを望むのであれば難しいですが)。

投資額についてはExcelならたいていのメーカー製パソコンには最初からインストールされているのでゼロに近いですよね。

WindowsCEで動かしたいのであれば...Microsoftはホームページ上でeMbeded Visual Toolsというのを無料でダウンロードできるようにしています。これを使えばVisual C++もしくはVisual Basicで開発をすることができます。この2つの選択肢からでしたらVisual Basicをお勧めしますが...PDAはその必要性があまりないのでしたら初めは考えない方が無難だと思います。

Qc言語を勉強している初心者です。sizeof関数の例題でわからないところがあったので教えてください。

#include <stdio.h>

void init_val(double *a, int n);

int main(void)
{
double x[6];
int i, n;

n = sizeof(x) / sizeof(x[0]); /* 配列の要素を求める */
init_val(x, n); /* 配列の初期化 */
printf("配列の要素数は%dです。",n);
printf("各配列の要素の中身は次の通りです。\n");
for( i = 0 ; i < n ; i++)
{
printf("x[%d]=%f\n", i, x[i]);
}

return 0;
}

void init_val(double *a, int n)
{
int i;

for( i = 0 ; i < n ; i++ )
{
a[i] = i * 0.123;
}
}

---------------------------------------------------------------------------------------------
配列の要素数は6です。各配列の要素の中身は次の通りです。
x[0]=0.000000
x[1]=0.123000
x[2]=0.246000
x[3]=0.369000
x[4]=0.492000
x[5]=0.615000

このプログラムの
n = sizeof(x) / sizeof(x[0]); /* 配列の要素を求める */

この部分が分かりません、
sizeof(x) は48
sizeof(x[0]) は8でした。

48を8で割って6という要素数を求めているわけですが、

このように設定してわざわざ、要素数を求める意味はあるのでしょうか?

#include <stdio.h>

void init_val(double *a, int n);

int main(void)
{
double x[6];
int i, n;

n = sizeof(x) / sizeof(x[0]); /* 配列の要素を求める */
init_val(x, n); /* 配列の初期化 */
printf("配列の要素数は%dです。",n);
printf("各配列の要素の中身は次の通りです。\n");
for( i = 0 ; i < n ; i++)
{
printf("x[%d]=%f\n", i, x[i]);
}

return 0;
}

void init_val(double *a, int n)
{
int i;

for( i = 0 ; i < n ; i++ )
{
a[i] = i * 0.123...続きを読む

Aベストアンサー

配列の要素数を求める機能が C 言語に存在しない為です。

言語設計の時点では、要素数は固定長で指定するものなので、
要素数を求める機能など無駄だと思われていたのかもしれません。

ただそれでは不便なので...

処理系によっては、要素数を求めるマクロ関数が独自に用意されています。
https://msdn.microsoft.com/ja-jp/library/ms175773.aspx

C++ 言語ならば、
配列を array クラスで置き換れば、メンバー関数で一発です。
http://www.cplusplus.com/reference/array/array/size/


人気Q&Aランキング

おすすめ情報